集合

作者: 笑样年华 | 来源:发表于2020-05-25 22:39 被阅读0次

    集合的分类

    集合分类

    一、Collection

    1、list集合

    1.1 ArrayList集合

    public class ArrayList_Learn {
        public static void main(String[] args) {
            // 创建ArrayList集合
            ArrayList<Integer> myList = new ArrayList<Integer>();
            ArrayList<Integer> myList1 = new ArrayList<Integer>();
            // 添加
            myList1.add(2);                             // 添加元素到列表末尾        add(E e)
            myList1.add(1,4);               // 指定位置添加指定的元素  add(int index, E element)
    //      myList.clear();         // 删除所有元素
            myList1.add(9);
            myList1.add(6);
            myList1.add(4);
            myList1.add(3);
            myList.addAll(myList1);     // 添加所有
            // 判断
            System.out.println(myList.contains(0));     // 判断集合是否包含指定元素     contains(Object o)
            System.out.println(myList.contains(3));     // 返回true  or false
            // 获得
            System.out.println(myList.get(4));          // 返回此列表中指定位置的元素
            System.out.println(myList.indexOf(4));      // 返回此列表中指定元素的第一次出现的索引,如果此列表不包含元素,则返回-1。
            System.out.println(myList.lastIndexOf(4)); // 返回此列表中指定元素的最后一次出现的索引,如果此列表不包含元素,则返回-1。
            // 删除
            myList.remove(2);           //      删除该列表中指定位置的元素。 remove(int index)
            myList.set(2,4);                //set(int index, E element) 用指定的元素替换此列表中指定位置的元素。
            Collections.reverse(myList);    // 转换 reverse()方法
            printArrayList(myList);
            Collections.shuffle(myList);    // 打乱 shuffle()方法
            printArrayList(myList);
            Collections.sort(myList);       // 排序   sort()方法
            printArrayList(myList);
            // 将集合转换为数组
            Object[] objs = myList.toArray();       // 转化为数组 toArray()方法
            // 输出数组
            for (int i = 0; i < objs.length; i++) {
                System.out.print(objs[i] + "\t");
            }
            System.out.println(myList.subList(1, 2));  // 输出指定位置的元素 subList()方法
        }
    
        // 输出ArrayList集合
        public static int  printArrayList(ArrayList myList) {
            for (int i = 0; i < myList.size(); i++) {
                System.out.print(myList.get(i) + "\t");
            }
            System.out.println();
            return 0;
        }
    }
    

    1.2 LinkedList集合

    public class LinkedList_Learn {
    public static void main(String[] args) {
        // 创建LinkedList集合
        LinkedList li = new LinkedList();
        // 添加
        li.add("xiao");                     // 添加到末尾
        li.addFirst("a");               // 添加到第一个位置
        li.addLast("b");                    // 添加到末尾位置
        li.add(1,"Huang");  // 添加到指定位置
        printLinkedList(li);
        }
        // 输出ArrayList集合
        public static int  printLinkedList(LinkedList myList) {
            for (int i = 0; i < myList.size(); i++) {
                System.out.print(myList.get(i) + "\t");
            }
            System.out.println();
            return 0;
        }
    }
    

    2、set集合

    2.1 HashSet集合

    public class HashSet_Learn {
        public static void main(String[] args) {
            // 创建HashSet集合
            HashSet<String> names = new HashSet<String>();  //jdk7.0后实例化时<>中可以不加
            //添加
            names.add("张三");
            names.add("李四");
            //遍历方法不能用传统遍历方法,因为HashSet类中没有get方法
            //第一种遍历方法:加强for循环
            for (String name : names) {
                System.out.println(name);
            }
            //第二种遍历方法:迭代器遍历
            Iterator<String> iterator = names.iterator();
            while(iterator.hasNext()) {
                System.out.println(iterator.next());
            }
            //HashSet变量.clear():清除所有的数据
            names.clear();
            //HashSet变量.idEmpty(): 判断是否为空
            System.out.println(names.isEmpty());
        }
    }
    

    2.2 TreeSet集合

    public class TreeSet_Learn {
        public static void main(String[] args) {
            TreeSet<String> names = new TreeSet<String>();
            names.add("asaf");
            names.add("asgag");
            names.add("werygwe");
            //遍历方法不能用传统遍历方法,因为HashSet类中没有get方法
            //第一种遍历方法:加强for循环
            for (String name : names) {
                System.out.println(name);
            }
            //第二种遍历方法:迭代器遍历
            Iterator<String> iterator = names.iterator();
            while(iterator.hasNext()) {
                System.out.println(iterator.next());
            }
        }
    }
    

    二、map集合

    1.1 HashMap集合

    public class HashMap_Learn {
        public static void main(String[] args) {
            ///*Integer*/map.put("1", 1);//向map中添加值(返回这个key以前的值,如果没有返回null)
            HashMap<String, Integer> map=new HashMap<>();
    
            System.out.println(map.isEmpty());//true    判断是否为空
            map.put("hx", 1);             // 存值
            System.out.println(map.isEmpty());//false    判断是否为空
    
            /*Value的类型*///得到map中key相对应的value的值
            System.out.println(map.get("1"));//null      取值
            System.out.println(map.get("DEMO"));//1     取值
    
            //判断是否含有key
            System.out.println(map.containsKey("xiao"));//false
            map.put("xiao", 8);
            System.out.println(map.containsKey("xiao"));//true
    
            //判断是否含有value
            System.out.println(map.containsValue(2));//false
            map.put("huang", 2);
            System.out.println(map.containsValue(2));//true
    
            // 删除这个key值下的value
            System.out.println(map.remove("hx"));//null
    
            // 显示所有的value值
            System.out.println(map.values());//[1, 2]
            // 显示所有的keys值
            System.out.println(map.keySet());
            // 显示元素的个数
            System.out.println(map.size());//0
            // 显示所有的keys和value值
            System.out.println(map.entrySet());//[]
            System.out.println(map);
            // 替换key的value
            System.out.println(map.replace("xiao", 5));//2
    
            // 清空hashmap
    //        map.clear();
        }
    }
    

    1.2 TreeMap集合

    public class TreeMap_Learn {
        public static void main(String[] args) {
            TreeMap<String,Integer> map = new TreeMap<String,Integer>();
            map.put("xiao",3);
            map.put("huang",5);
            map.put("hx",4);
    //        map.remove("hx");       // 移除指定key对应的映射
    //        map.clear();              // 清空 TreeMap
            map.replace("hx",9);   //replace(K key, V value):替换指定key对应的value值
            map.replace("xiao",3,2);//replace(K key, V oldValue, V newValue):当指定key的对应的value为指定值时,替换该值为新值
    
            System.out.println(map.containsKey("huang"));  // 判断该TreeMap中是否包含指定key的映射
            System.out.println(map.containsValue(5));   // 判断该TreeMap中是否包含有关指定value的映射
            System.out.println(map.get("hx"));
            System.out.println(map.entrySet());       // 遍历TreeMap
            System.out.println(map.size());  // 键值对的个数
        }
    }
    

    相关文章

      网友评论

          本文标题:集合

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