javase:集合工具类

本文介绍了Java集合工具类Collections的API,涵盖了排序、复制、填充、查找等操作,并对比了Comparable和Comparator接口的使用,展示了如何通过泛型编程实现自定义比较。同时讲解了这两个接口的区别和在实际开发中的应用场景。
摘要由CSDN通过智能技术生成

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}
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值