集合工具类
快捷排序、快捷打乱顺序、快捷查找元素、快捷展示控制台
一. 集合快捷操作工具-Collections
Collections是集合工具类,专门对集合(ArrayList、LinkedList、Vector)进行操作。
常用方法:
方法名称 |
描述 |
public static <T> void sort(List<T> list) |
从小到大排序 默认只能对基本数据类型 |
public static <T> int binarySearch(List<?> list,T key) |
查找元素索引(必须先排序),否则无法返回索引 元素重复,寻找最后一个出现的元素【不研究】 |
public static void shuffle(List<?> list) |
随机打乱元素顺序 |
public addAll(Collection<? super T> c, T... elements) |
一次添加多个元素 |
实用举例:
/* * Collections工具类: * */ public static void main(String[] args) { //创建ArrayList集合 ArrayList<Integer> list1 = new ArrayList<Integer>();
//1、快捷一次性添加数据:addAll Collections.addAll(list1,11,99,88,100,99); System.out.println("addAll执行完毕:"+list1);
//2、快捷排序:sort 默认:从小到大 Collections.sort(list1); System.out.println("sort执行完毕:"+list1); //反转 // Collections.reverse(list1); // System.out.println("反转结果:"+list1); //3、快捷查找元素 : 没找到就是负数 int i = Collections.binarySearch(list1, 11); System.out.println("11元素的索引:"+i); int i2 = Collections.binarySearch(list1, 1000); System.out.println("1000元素的索引:"+i2); int i3 = Collections.binarySearch(list1, 99); System.out.println("99元素的索引:"+i3);
//4、快捷打乱顺序: Collections.shuffle(list1); System.out.println(list1); } |
|
---|
强化练习;
解:
public static void main(String[] args) { //1、定义集合 ArrayList<Integer> list = new ArrayList<Integer>(); //2、存数据 Collections.addAll(list,10,33,7,0,100,55); System.out.println("原始数据:"+list); //3、排序 Collections.sort(list); //4、寻找55元素的索引 int index = Collections.binarySearch(list, 55); //5、展示 System.out.println("排序后数据:"+list); System.out.println("55的索引号:"+index); } |
二.数组快捷操作工具-Arrays
Arrays是数组工具类,常用方法:
方法名称 |
描述 |
public static int binarySearch(Xxx[] a,Xxx key) |
查找元素索引 已经很少使用。 查找之前一定要先进行排序 |
public static void sort(Xxx[] a) |
从小到大排序 |
public static String toString(Xxx[] a) |
把整个数组所有元素 拼成一个字符串并返回 |
实用举例:
/* * Arrays数组操作: * */ public static void main(String[] args) { int[] arr = {123,6657,34,6,8,1,10,123};
//1、排序: 从小到大 Arrays.sort(arr); //2、展示 System.out.println(Arrays.toString(arr)); //从大到小: ①拼接为字符串StringBuilder,反转切割 【难】 //从大到小: ②倒序循环保存 //从大到小: ③转为集合,集合反转 //3、查找元素 :找不到返回负数 int index = Arrays.binarySearch(arr, 1); System.out.println("元素1索引:"+index);
} |
三. 集合和数组互转
Arrays类的方法名称 |
描述 |
public List<T> asList(T... a) |
数组转集合,集合长度不可变 |
实用举例:
/* * 数组和集合的互转 * */ public static void main(String[] args) { //1、数组 转 集合 Integer[] arr = {11,22,33,44,55,66}; //转集合: 作为集合--》转为集合 List<Integer> list = Arrays.asList(arr); System.out.println(list); //反转 // Collections.reverse(list); // System.out.println(list); //添加/删除 ---- 失败,出异常 (由数组转成的集合,集合长度固定不可改变) // list.remove(11); // list.add(18); } |
-
扩展:集合转成数组:
-
Collection类的方法名称 |
描述 |
public Object[] toArray(T[] arr) |
集合转数组 |
实用举例:
/* * 数组和集合的互转 * */ public static void main(String[] args) { ArrayList<Integer> list = new ArrayList<Integer>(); Collections.addAll(list,11,22,33,44,55,66); //集合转数组 Integer[] arr = list.toArray(new Integer[]{}); System.out.println(Arrays.toString(arr)); } |
今日总结:
集合工具类: Collections sort addAll Arrays toString sort 数组===》集合: Arrays.asList()======> 数组转成的集合,长度不可变 |
---|
请给努力中的自己点个赞哦!
每天进步一点点`~~~~~
来源:oschina
链接:https://my.oschina.net/ithuang/blog/3188053