集合之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)); } } |
分类:
java基础【javaSE】
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律