zoukankan      html  css  js  c++  java
  • Collections算法类

    Collections类定义了一系列用于操作集合的静态方法。

    常用方法:

    1.sort():排序(默认是升序排列,降序实现方法

    如果ArrayList的泛型指定为String int等类型,可以通过Arrays.sort(Object o);排序,但如果是更复杂的类的对象,则需要通过一下方法:

    该类需实现Comparable接口,并重写compareTo()方法。

    Students类:

    package com.yh.sort;
    // 实现Comparable接口
    public class Students implements Comparable<Students> {
    
        private int id;
        private String name;
        
        public Students() {}
    
        public Students(int id,String name) {
            this.setId(id);
            this.setName(name);
        }
    
        public int getId() {
            return id;
        }
        public void setId(int id) {
            this.id = id;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        
    // 重写compareTo方法 @Override
    public int compareTo(Students stu) { // TODO Auto-generated method stub if(this.getId()==stu.getId()) return 0; else if(this.getId()>stu.getId()) return 1; else return -1; } }

    TestStundent类:

    package com.yh.sort;
    
    import java.util.ArrayList;
    import java.util.Collections;
    
    public class TestStudent {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            ArrayList<Students> list = new ArrayList<>();
            list.add(new Students(10,"stu10"));
            list.add(new Students(5,"stu5"));
            list.add(new Students(15,"stu15"));
    Collections.sort(list);
    for(int i=0;i<list.size();i++) { System.out.println("学号:"+list.get(i).getId()+" 姓名:"+list.get(i).getName()); } } }

    2.binarySearch():查找

    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.List;public class Student1Test {
        public static void main(String[] args) {
            List<Student1> list1 = new ArrayList<Student1>();
            list1.add(new Student1("林青霞", 27));
            list1.add(new Student1("风清扬", 30));
            list1.add(new Student1("刘晓曲", 28));
            list1.add(new Student1("武鑫", 29));
            list1.add(new Student1("林青霞", 27));
            
            int index=Collections.binarySearch(list1, new Student1("林青霞", 27));
            System.out.println(index);
        }
    }

    3.max()/min():查找最大/最小值

  • 相关阅读:
    ES5新特性:理解 Array 中增强的 9 个 API
    ios
    Jquery异步 Deferred Object
    ES5中新增的Array方法详细说明
    Chart
    Angular常用语句
    vticker.js--垂直滚动插件
    <css系列>之css--float总结
    理解boot.img与静态分析Android/linux内核
    理解竞争条件( Race condition)漏洞
  • 原文地址:https://www.cnblogs.com/YeHuan/p/10745601.html
Copyright © 2011-2022 走看看