美文网首页
java常见的集合及用法

java常见的集合及用法

作者: _karen | 来源:发表于2020-11-16 16:22 被阅读0次

    java常见的集合:

    • Map、HashMap、TreeMap
    • List、ArrayList、LinkedList
    • Set、HashSet、TreeSet

    代码demo:

    • 主函数:
    import javax.sound.midi.Soundbank;
    import java.sql.SQLOutput;
    import java.util.*;
    
    public class MyHogwartsDemo2 {
        public static void main(String[] args) {
            method8();
        }
    }
    
    • Map、HashMap、TreeMap
     /**
         * HashSet:不允许数据重复;允许null;无序
         */
        public static void method6() {
            HashSet<String> hashSet = new HashSet();
            hashSet.add("aaa");
            hashSet.add("bbb");
            hashSet.add("bbb");
            hashSet.add("bbb");
            hashSet.add("ccc");
            hashSet.add(null);
    
    //        遍历:增强for循环
            for (String h : hashSet) {
                System.out.println(h);
            }
        }
    
        /**
         * linkedHashSet:不允许数据重复;允许null;无序;按照插入顺序排序
         */
        public static void method7() {
            LinkedHashSet<String> linkedHashSet = new LinkedHashSet<>();
            linkedHashSet.add("aaa");
            linkedHashSet.add("bbb");
            linkedHashSet.add("bbb");
            linkedHashSet.add("bbb");
            linkedHashSet.add("ccc");
            linkedHashSet.add(null);
    
    //        遍历:增强for循环
            for (String h : linkedHashSet) {
                System.out.println(h);
            }
        }
    
        /**
         * TreeSet:自动排序  put一个null的时候报错空指针
         */
        public static void method8() {
            TreeSet<String> treeSet = new TreeSet<>();
            treeSet.add("aaa");
            treeSet.add("bbb");
            treeSet.add("eee");
            treeSet.add("fff");
            treeSet.add("ccc");
    //        treeSet.add(null);
            System.out.println(treeSet.size());
    //        遍历:增强for循环
            for (String h : treeSet) {
                System.out.println(h);
            }
        }
    
    • List、ArrayList、LinkedList
     /**
         * arraylist的了解及基本操作
         * arraylist底层为可变大小的数组,遍历和查找元素较快,插入删除元素较慢
         */
        public static void method2() {
    //        new一个ArrayList数组对象,以及练习常用的方法
    //        <String> 泛型,是指数组中存的是什么类型的内容;这样添加的时候就有类型限制;开发常用
    //        添加元素,在指定位置添加元素;判断数组中是否含有元素
            ArrayList<String> arrayList = new ArrayList();
            arrayList.add("aaa");
            arrayList.add("bbb");
            arrayList.add("ccc");
            arrayList.add("ddd");
            arrayList.add("eee");
            arrayList.add(0, "zzz");
    //        遍历数组并且打印:注意取的长度的办法以及获取数组值的办法
    //        for (int i = 0; i < arrayList.size(); i++) {
    //            System.out.println("元素的位置是:" + i + ";元素内容是" + arrayList.get(i));
    //        }
    //        System.out.println(arrayList);
            ArrayList<String> arrayList1 = new ArrayList();
            arrayList1.add("aaa");
            arrayList1.add("222");
            arrayList1.add("333");
            arrayList1.add("444");
            arrayList1.add("555");
            arrayList.addAll(arrayList1);
    //        遍历addall之后的数组;拿数据用get
            for (int i = 0; i < arrayList.size(); i++) {
                System.out.println("元素的位置是:" + i + ";元素内容是" + arrayList.get(i));
            }
    //        判断是否包含某个元素
            boolean flag = arrayList.contains("1");
            System.out.println(flag);
            //    倒序查找元素
            int a = arrayList.lastIndexOf("aaa");
            System.out.println(a);
    //        arraylist 转成数组,就可以使用数组的遍历了
            Object[] oo = arrayList.toArray();
            for (int i = 0; i < oo.length; i++) {
                System.out.println(oo[i]);
            }
            System.out.println(oo);
    
        }
    
        /**
         * Linkedlist的了解及基本操作
         * Linkedlist底层为链表,插入和删除元素较慢,遍历和查找元素较慢
         */
        public static void method3() {
            LinkedList linkedList = new LinkedList();
            linkedList.addFirst("AAA");
            linkedList.addLast("ZZZ");
            linkedList.add("BBB");
    //        System.out.println(linkedList.iterator());;
    //        peek() 方法是从队列中删除最后一个元素;队列为空,返回null
    //        poll() 方法是从队列中删除第一个元素;队列为空,返回null
            for (int i = 0; i < linkedList.size(); i++) {
                System.out.println(linkedList.peek());
                System.out.println("----------");
    //            System.out.println(linkedList.poll());
            }
        }
    
    • Set、HashSet、TreeSet
     /**
         * HashMap无序的;;键值对key-value映射,访问较快;键值可为null;
         * HashMap的三种遍历方式;key重复的话,会被替换;按照put的顺序取值
         */
        public static void method4() {
            HashMap<String, String> hashMap = new HashMap();
            hashMap.put("aaa", "111");
            hashMap.put("bbb", "222");
            hashMap.put("ccc", "333");
    
    //        Set<String> keySet = hashMap.keySet();
    //        hashmap的第一种遍历,遍历key,通过key获取value
            for (String key : hashMap.keySet()) {
                System.out.println("key:" + key);
                System.out.println("key is " + key + ";value is " + hashMap.get(key));
            }
    //      hashmap的第二种遍历;最推荐
            for (Map.Entry<String, String> entry : hashMap.entrySet()) {
                System.out.println("key is " + entry.getKey() + ";value is " + entry.getValue());
            }
    //      hashmap的第三种遍历,直接遍历value
            for (String value : hashMap.values()) {
                System.out.println("value is " + value);
            }
        }
    
        /**
         * LinkedHashMap:继承自HashMap,使用元素的自然顺序对元素进行排序
         * 遍历同hashmap
         */
        public static void method5() {
            LinkedHashMap<String, String> linkedHashMap = new LinkedHashMap();
            linkedHashMap.put(null, null);
            linkedHashMap.put("name", "zhangsan");
        }
    

    相关文章

      网友评论

          本文标题:java常见的集合及用法

          本文链接:https://www.haomeiwen.com/subject/takzbktx.html