zoukankan      html  css  js  c++  java
  • 集合常用类及方法汇总

     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:王五 
  • 相关阅读:
    git stash回退
    基于git tag快速修复
    Go语言开发规范
    defer实现原理
    string数据结构
    关于const iota
    struct
    map数据结构底层详解
    go 函数进阶
    go 内存分配原理
  • 原文地址:https://www.cnblogs.com/janson071/p/9668911.html
Copyright © 2011-2022 走看看