zoukankan      html  css  js  c++  java
  • Collections 工具类

    Collection和Collections的区别;

    Collection是创建集合的接口,Collections是操作集合的工具类

    Collections  是一个操作List, Set, Map 等集合的工具类

    Collections 中提供了一系列静态的方法对集合元素进行排序、查询和修改等操作, 还提供了对集合对象设置不可变、对集合对象实现同步控制等方法 

    操作方法(均为static静态的)

    排序操作:
            reverse(List):反转 List 中元素的顺序 shuffle(List):对 List 集合元素进行随机排序 sort(List):根据元素的自然顺序对指定 List 集合元素按升序排序     
            sort(List,Comparator):根据指定的 Comparator 产生的顺序对 List 集合元素进行排序 
            swap(List,intint):将指定 list 集合中的 i 处元素和 j 处元素进行交换


    查找、替换:

             Object max(Collection):根据元素的自然顺序,返回给定集合中的最大元素

             Object max(Collection,Comparator):根据 Comparator 指定的顺序,返回 给定集合中的最大元素

             Object min(Collection) Object min(Collection,Comparator) int frequency(Collection,Object):返回指定集合中指定元素的出现次数

             void copy(List dest,List src):将src中的内容复制到dest中 boolean replaceAll(List list,Object oldVal,Object newVal):使用新值替换 List 对象的所有旧值

    当使用Collections.max和min的时候  必须集合内的元素是同一类型的 否则无法进行获取 

    eg:

    如果不是同一类型则报错:Exception in thread "main" java.lang.ClassCastException: class java.lang.Integer cannot be cast to class java.lang.String

         
            //ListTwo: [1, 老王, 老张, 隔壁老王, 1, 34, 65, 897]
            // list  [1, 34, 65, 897]
            System.out.println(Collections.max(listTwo));  // 因为ListTwo内存储不同的数据类型,既有int又有String所以无法进行对比

    当集合内的元素是同一类型才可以获取最大值和最小值

            //ListTwo: [1, 老王, 老张, 隔壁老王, 1, 34, 65, 897]
            // list  [1, 34, 65, 897]
            System.out.println(Collections.max(list));  // 最大值
    
            System.out.println(Collections.min(list));  // 最小值 当时同一类型的时候才可以使用值获取

    Practices

    1: 请从键盘随机输入10个整数保存到List中,并按倒序、从大 到小的顺序显示出来

        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            List list = new ArrayList();
            for (int i = 0; i < 10; i++) {
                int num = scanner.nextInt();
                list.add(num);
            }
    
            // 倒叙排列
            Collections.reverse(list);
            Iterator iterator = list.iterator();
            while (iterator.hasNext()){
                System.out.println(iterator.next());
            }
    
    
            //从大到小
    
            Collections.sort(list); // 默认从小到大
            Collections.reverse(list);
            iterator = list.iterator();
            while (iterator.hasNext()){
                System.out.println(iterator.next());
            }
    
    
        }
    请从键盘随机输入10个整数保存到List中,并按倒序、从大 到小的顺序显示出来

    2: 请把学生名与考试分数录入到集合中,并按分数显示前三名 成绩学员的名字

    TreeSet(Student(name,score,id));

        public static void main(String[] args) {
    
            List list = new ArrayList();
            list.add(75);
            list.add(63);
            list.add(87);
            list.add(98);
            System.out.println(list);
            for (int i = 0; i < 3 ; i++) {
                
                list.remove(Collections.max(list));
            }
            System.out.println(list);
        }
    请把学生名与考试分数录入到集合中,并按分数显示前三名 成绩学员的名字
  • 相关阅读:
    哦!Python爬虫的这4种方法优缺点你知道吗?
    当你认为Python程序慢时!几个方法你使用了吗!
    Python数据可视化你了解多少!看一下这些是你了解的吗 ?
    王者英雄你喜欢那个!利用Python网络爬虫教你抓取喜欢的英雄图片!
    使用Python时多少有人走过的坑!你是否也遇到过呢!
    Python的68个内置函数你真正的了解多少!建议合理的运用起来!
    使用Python 进行字串格式化的几种方式!你平时是否使用过呢!
    在找工作吗?今天教你使用Python网络爬虫获取招聘信息!来体验一下
    Azure上A/D系列虚拟机到DS系列迁移(1)
    超大文件上传到Azure Linux虚拟机最佳实践
  • 原文地址:https://www.cnblogs.com/zhaoyunlong/p/13032938.html
Copyright © 2011-2022 走看看