欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

javase:集合工具类

程序员文章站 2024-01-13 19:55:52
...

Collections工具类API

同数组工具类Arrays一样,集合工具类提供了(排序,二分查找,乱序,填充)方法

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class CollectionsAPI {

    public static void main(String[] args) {
        //1.创建一个集合
        List list = new ArrayList();
        //2.添加元素
        list.add(145);
        list.add(254);

        Collections.addAll(list,34,48,6785);
        System.out.println(list);

        //3.集合拷贝  //拷贝前需要初始化集合
        List dest = new ArrayList();
        Collections.addAll(dest,0,0,0,0,0,0,0,0);
        Collections.copy(dest,list);
        System.out.println(dest);

        //4.数据填充
        //Collections.fill(dest,"A");
        //System.out.println(dest);

        //4.获取集合中的最大值
        int max = (int)Collections.max(dest);
        System.out.println(max);

        //5.获取集合中最小值
        int min = (int)Collections.min(dest);
        System.out.println(min);

        //6.替换
        Collections.replaceAll(dest,0,-1);
        System.out.println(dest);

        //7.反转
        Collections.reverse(dest);
        System.out.println(dest);

        //8.乱序
        Collections.shuffle(dest);
        System.out.println(dest);

        //9.排序
        Collections.sort(dest);
        System.out.println(dest);

        //10.交换
        Collections.swap(dest,0,5);
        System.out.println(dest);

        //11.二分查找 有序集合
        Collections.sort(dest);
        int index = Collections.binarySearch(dest,34);
        System.out.println(dest);
        System.out.println(index);
    }

}

Comparable和Compartor

Comparable特点

①表示可以比较的(用于类的实现)
②实现这个接口,表示这个类的实例可以比较大小,可以进行自然排序
③compareTo(Object)用于判断两个对象的大小,返回值为正数表示大,负数表达小,返回0相等
④Comparable的实现必须与equals()的结果一致。就是如果compareTo()返回0,那么equals()就应该是true

Compartor比较工具

用于临时定义比较规则,不是默认的比较规则

Comparable和Compartor比较

①Comparable:对象与对象之间的比较,和equals()差不多
equals():是判断当前对象和另一个对象是否相等
compareTo:是判断当前对象和另一个对象的大小,比较是hashCode的值,该接口用于实体类中
②Comparator:它是可以独立存在的比较算法
该算法一般被集合调用,用于比较集合中两个对象的大小
Collection和Collections对比
①Collection是抽象的集合,实现它的有List和set
②Collections集合静态的工具类,为集合提供工具方法。例如:sort,fill,swap等方法

泛型编程

指在对象建立的时候不指定具体类型,而是在申明和实例化对象的时候指定具体的类型

ListDemo.java

package CollectionsDemo;

import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.ArrayList;
public class ListDemo {

    public static void main(String[] args) {
        //1.创建一个集合
        /*List<String> list = new ArrayList<String>();
        list.add("1");
        list.add("A");
        list.add("point");
        list.add("Date");

        System.out.println(list);*/

        //2.获取一个元素
        //System.out.println(list.get(3).equals("abc"));//变量类型不同无法比较

        /*HashMap map = new HashMap();
        map.put(1,"A");
        map.put(2,"b");
        map.put("ABC",1);
        map.put(1.0,new Date());

        System.out.println(map);//{1.0=Sun Sep 26 12:32:10 CST 2021, 1=A, 2=b, ABC=1}*/

        HashMap<Integer,String> map = new HashMap<Integer,String>();
        map.put(1,"A");
        map.put(2,"c");
        map.put(3,"Ahg");
        map.put(4,"a");

        System.out.println(map);//{1=A, 2=c, 3=Ahg, 4=a}
    }

}
相关标签: java