Colletions工具类及集合总结

Colletions工具类

  1. 概念:集合工具类,定义了除了存取以外的集合常用方法

  2. 方法:

    public static void reverse(List<?> list) //反转集合中元素的顺序
    public static void shuffle(List<?> list) //随机重置集合元素的顺序
    public static void sort(List<T> list) //升序排序(元素类型必须实现Comparable接口)
    
使用参考
import java.util.*;

//Collections工具类的使用
public class Demo04 {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<>();
        list.add(20);
        list.add(2);
        list.add(60);
        list.add(0);
        list.add(26);

        //sort 排序
        System.out.println("排序之前:" + list.toString());

        Collections.sort(list);
        System.out.println("排序之后:" + list.toString()); //从小到大

        //binarySearch 二分查找
        int i = Collections.binarySearch(list, 26); //输出下标
        System.out.println(i);

        //copy 复制
        List<Integer> dest = new ArrayList<>();
        for (int j = 0; j < list.size(); j++) {
            dest.add(0);
        }
        Collections.copy(dest, list);
        System.out.println("复制后dest:" + dest.toString());

        //reverse 反转
        Collections.reverse(list);
        System.out.println("反转之后:" + list);

        //shuffle 打乱
        Collections.shuffle(list);
        System.out.println("打乱之后:" + list);

        //补充:list转为数组
        System.out.println("------list转为数组------");
        Integer[] arr = list.toArray(new Integer[0]);
        Integer[] arr1 = list.toArray(new Integer[10]);//如果给的值超过所给元素后面打印为null

        System.out.println(arr.length);
        System.out.println(Arrays.toString(arr));

        System.out.println(arr1.length);
        System.out.println("超过所给元素:" + Arrays.toString(arr1));

        //数组转成集合
        System.out.println("------数组转成集合------");
        String[] names = {"赵", "钱", "孙", "李", "周", "吴"};
        //集合是一个受限集合,所以不能添加和删除
        List<String> list1 = Arrays.asList(names);
        System.out.println(list1);

        //把基本类型数组转成集合时,需要修改为包装类型
        Integer[] nums = {100, 300, 500, 700, 900}; //不能使用int创建,否则下面的List<>使用Integer报错,使用int[]只能存放一个元素
        List<Integer> list2 = Arrays.asList(nums);
        System.out.println(list2);
    }
}

总结

  1. 集合的概念:对象的容器,和数组类似,定义了对多个对象进行操作的常用方法,只能存储引用型数据。
  2. List集合:有序、有下标、元素可重复。(ArrayList(数组)、LinkedList(双向链表)、Vector)
  3. Set集合:无序、无下标、元素不可重复。(HashSet(哈希表:数组+链表+红黑树)、TreeSet(红黑树))
  4. Map集合:存储一对数据,无序、无下标,键不可重复,值可重复。(HashMap(哈希表)、HashTable、TreeMap(红黑树))
  5. Collections:集合工具类,定义了除了存储以外的集合常用的方法。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值