集合常用类及方法汇总

 List 、Set和Map接口中常用类以及方法整理:主要包括对集合中的对象进行增删改和遍历操作

 

 

 

Collection接口

        /**
         * 以下演示对Collection的操作方法
         */
        Collection<String > c = new ArrayList<>();
        //向集合中增加指定对象
        c.add("hello");
        c.add("world");
        c.add("I'm coming!");
        System.out.println("初始Collection集合:" + c);

        //移除集合中的某对象
        c.remove("world");
        System.out.println("删除world对象后的集合:" + c);

        //判断集合中是否包含某对象
        boolean world = c.contains("world");
        System.out.println("是否仍包含world对象:"+ world);

        //计算集合中对象的个数
        int size = c.size();
        System.out.println("集合的大小:" + size);

        //toArray()方法将集合转换为Object数组
        System.out.print("集合转换为Object数组,数组中的元素为:");
        Object[] obj = c.toArray();
        for (int i=0; i<obj.length; i++) {
            System.out.print(obj[i] + ",");
        }
        System.out.println();

        //toArray(T[] a)方法将集合转换为相应类型的数组
        System.out.print("集合转换为String数组,数组中的元素为:");
        String[] str = c.toArray(new String[2]);
        for (int j=0; j<str.length; j++) {
            System.out.print(str[j] + ",");
        }
        System.out.println();

        //iterator()方法遍历集合中的对象
        Iterator<String> item = c.iterator();
        System.out.print("依次遍历集合中的对象:");
        while (item.hasNext()) {
            String strItem = item.next();
            System.out.print(strItem + "  ");
        }
        System.out.println();

        //清除集合中的对象
        c.clear();
        System.out.println("移除所有对象后的集合:" + c);

运行结果:

初始Collection集合:[hello, world, I'm coming!]
删除world对象后的集合:[hello, I'm coming!]
是否仍包含world对象:false
集合的大小:2
集合转换为Object数组,数组中的元素为:hello,I'm coming!,
集合转换为String数组,数组中的元素为:hello,I'm coming!,
依次遍历集合中的对象:hello  I'm coming!  
移除所有对象后的集合:[]

 

List接口:

        /**
         * 以下演示对List的操作方法
         */
        List<Integer> list = new ArrayList<>();
        //随机生成10个数,并放到list中
        for (int i=0; i<10; i++) {
            Random random = new Random();
            int j = random.nextInt(100); //0-100之前随机生成一个数
            list.add(j);
        }
        System.out.println("初始list集合:" + list);

        //获取第二个位置上的对象
        System.out.println("第二个位置上的对象为:" + list.get(1));

        //删除第二个位置上的对象
        list.remove(1);
        System.out.println("删除第二个位置对象后的集合:" + list);

        //修改第二个位置上的对象
        list.set(1,999999);
        System.out.println("修改第二个位置对象后的集合:" + list);

        //for循环遍历得到list集合中每个对象
        System.out.print("for循环依次遍历list集合中的对象:");
        for (int i=0; i<list.size(); i++) {
            System.out.print(list.get(i) + " ");
        }
        System.out.println();

        //foreach循环遍历得到list集合中每个对象
        System.out.print("foreach循环依次遍历list集合中的对象:");
        for (int i:list) {
            System.out.print(i + " ");
        }
        System.out.println();

        //也可以通过iterator()方法遍历
        System.out.print("iterator依次遍历list集合中的对象:");
        Iterator<Integer> intItem = list.iterator();
        while (intItem.hasNext()) {
            int a = intItem.next();
            System.out.print(a + " ");
        }
        System.out.println();

        //清除list集合中的对象
        list.clear();
        System.out.println("移除所有对象后的集合:" + list);

运行结果:

初始list集合:[97, 4, 96, 72, 9, 15, 87, 13, 23, 19]
第二个位置上的对象为:4
删除第二个位置对象后的集合:[97, 96, 72, 9, 15, 87, 13, 23, 19]
修改第二个位置对象后的集合:[97, 999999, 72, 9, 15, 87, 13, 23, 19]
for循环依次遍历list集合中的对象:97 999999 72 9 15 87 13 23 19 
foreach循环依次遍历list集合中的对象:97 999999 72 9 15 87 13 23 19 
iterator依次遍历list集合中的对象:97 999999 72 9 15 87 13 23 19 
移除所有对象后的集合:[]

 

Set接口:

        /**
         * 以下演示对Set的操作方法
         */
        Set<String> set = new HashSet<>();
        //向集合中添加对象
        set.add("我wo");
        set.add("我b");
        set.add("爱ai");
        set.add("java");
        set.add("567");
        set.add("111");
        System.out.println("初始Set集合:" + set);

        //判断某对象是否在集合中
        boolean contains111 = set.contains("111");
        System.out.println("Set集合中是否包含111:" + contains111);

        //删除集合中的对象
        set.remove("111");
        System.out.println("删除111对象后的集合:" + set);

        //通过foreach循环遍历Set集合中的对象
        System.out.print("foreach循环依次遍历Set集合中的对象:");
        for (String strSet:set) {
            System.out.print(strSet + " ");
        }
        System.out.println();

        //通过iterator遍历Set集合中的对象
        System.out.print("iterator依次遍历Set集合中的对象:");
        Iterator<String> iterator = set.iterator();
        while (iterator.hasNext()) {
            String setVal = iterator.next();
            System.out.print(setVal + " ");
        }
        System.out.println();

        //遍历Set集合中的对象,并且使其按顺序输出
        System.out.print("顺序输出Set集合:");
        Set<String> treeSet = new TreeSet<>();
        treeSet.addAll(set);
        Iterator<String> treeIter = treeSet.iterator();
        while (treeIter.hasNext()) {
            String strSetItem = treeIter.next();
            System.out.print(strSetItem + " ");
        }
        System.out.println();

运行结果:

初始Set集合:[111, java, 爱ai, 567, 我wo, 我b]
Set集合中是否包含111:true
删除111对象后的集合:[java, 爱ai, 567, 我wo, 我b]
foreach循环依次遍历Set集合中的对象:java 爱ai 567 我wo 我b 
iterator依次遍历Set集合中的对象:java 爱ai 567 我wo 我b 
顺序输出Set集合:567 java 我b 我wo 爱ai 

 

Map接口:

        /**
         * 以下演示对Map的操作方法
         */
        Map<String,String> map = new HashMap<>();
        //对象添加到集合中
        map.put("352","张三");
        map.put("512","李四");
        map.put("853","王五");
        map.put("125","赵六");
        map.put("289","黄七");
        map.put("734","秦八");
        System.out.println("初始map集合:" + map);

        //获取key="734"的值
        System.out.println("key=734对应的value:" + map.get("734"));

        //删除key="734"的映射关系对象
        map.remove("734");
        System.out.println("删除key=734后的集合:"+ map);

        boolean b = map.containsKey("125");
        System.out.println("集合中是否包含key=125:" + b);

        //修改key="125"对应的value
        map.put("125","哈哈哈");
        System.out.println("key=125的值修改后的集合:" + map);

        //遍历集合中的key
        Set keySet = map.keySet();
        System.out.print("key集合:");
        Iterator<String> setItem = keySet.iterator();
        while (setItem.hasNext()) {
            String strKey = setItem.next();
            System.out.print(strKey + " ");
        }
        System.out.println();

        //遍历集合中key和value,并且使其按顺序输出
        Map<String,String> treeMap = new TreeMap<>();
        treeMap.putAll(map);
        Iterator<String> iter = treeMap.keySet().iterator();
        System.out.print("顺序输出Map集合:");
        while (iter.hasNext()) {
            String strKey = iter.next();
            String strVal = treeMap.get(strKey);
            System.out.print(strKey + ":" + strVal + " ");
        }

运行结果:

初始map集合:{352=张三, 289=黄七, 125=赵六, 512=李四, 853=王五, 734=秦八}
key=734对应的value:秦八
删除key=734后的集合:{352=张三, 289=黄七, 125=赵六, 512=李四, 853=王五}
集合中是否包含key=125:true
key=125的值修改后的集合:{352=张三, 289=黄七, 125=哈哈哈, 512=李四, 853=王五}
key集合:352 289 125 512 853 
顺序输出Map集合:125:哈哈哈 289:黄七 352:张三 512:李四 853:王五 

 

posted @ 2018-09-18 14:55  那心之所向  阅读(1838)  评论(0编辑  收藏  举报