集合之Collections工具类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
package com.Lucky;
 
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
 
/*
     Collections:java。util.Collections
     解析:Collections是集合的工具类,拥有许多处理集合操作的方法
 
              方法:  addAll();            批量添加数据
                     shuffle()            打乱数据
                     reverse()             反转
                     sort()                 排序
                     binarySearch()     先排序再二分查找
                     swap()                 互换位置
                     copy()                  拷贝数据
                     fill()                  修改数据
                     min/max()             最大值/最小值
 
 
 */
public class CollectionsDemo {
 
    public static void main(String[] args) {
        //创建一个ArrayList集合
        ArrayList<String> arrList=new ArrayList<>();
 
 
         //调用工具类Collections
        System.out.println("---------addAll()------------");
        Collections.addAll(arrList,"dsg","A","QER","WSQW","AFGHJEF");
        System.out.println(arrList);
 
 
        System.out.println("---------shuffle()------------");
        Collections.shuffle(arrList);  //打乱
        System.out.println(arrList);
 
 
 
        System.out.println("---------reverse()------------");
        Collections.reverse(arrList);   //反转
        System.out.println(arrList);
 
        System.out.println("---------sort()------------");
        Collections.sort(arrList);   //排序
        System.out.println(arrList);
        Collections.sort(arrList, new Comparator<String>() {  //可以自定义排序【利用比较器排序】
            @Override
            public int compare(String o1, String o2) {
                return o2.compareTo(o1);
            }
        });   //排序
        System.out.println(arrList);
 
 
 
        System.out.println("---------binarySearch()  先排序再二分查找------------");
        ArrayList<Integer> list=new ArrayList<>();
        ArrayList<Integer> list1=new ArrayList<>();
        Collections.addAll(list,1,2,3,8,9,4,6,7);
        list.sort(new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return o1-o2;
            }
        });
        System.out.println(list);
        //二分查找法查询A字符串
        System.out.println(Collections.binarySearch(list,6));  //返回指定key的索引
 
        System.out.println("---------swap()  互换位置------------");
         Collections.swap(list,1,3);  //互换位置
        System.out.println(list);
 
 
 
        System.out.println("---------copy()  拷贝数据------------");
        /*
        前提条件:新的集合长度比原来的集合长度小,方法会报错,因为 IndexOutOfBoundsException 异常【下标越界异常】
         */
        Collections.addAll(list1,4,5,6,7,8,9,1,2,3,20,30,54);
        Collections.copy(list1,list);  //将list的数据拷贝到list1中,相同位置的数据将会被覆盖
        System.out.println(list1);
 
 
        System.out.println("---------fill()  修改数据------------");
        Collections.fill(list1,100);  //将list1的数据全部修改成100;
        System.out.println(list1);
 
        System.out.println("---------max/min()  最大值与最小值------------");
        System.out.println(Collections.min(list));
        System.out.println(Collections.max(list));
 
    }
}

  

posted @   唯易人生  阅读(32)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示