Collections基本方法使用
程序员文章站
2022-05-20 10:33:50
...
Collections基本方法使用
使用的方法包括:sort、二分查找、copy复制、reverse反转、shuffle打乱等,还有一些使用的注意事项都写在注释里了
/**
* Collection常用方法介绍
*
* @author twb
* @// TODO: 2021/3/28
* @version 1.8
*/
public class Demo3 {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
list.add(50);
list.add(20);
list.add(15);
list.add(62);
list.add(7);
//sort排序
System.out.println("排序之前:"+list.toString());
Collections.sort(list);
System.out.println("排序之后:"+list.toString());//默认从小到大排序,也可以根据自己的需求重写compare方法来进行排序
//二分查找
int index = Collections.binarySearch(list,20); //如果查找的元素不存在则返回负值,成功则返回该元素的下标
System.out.println("二分查找结果:"+index);
//copy复制
List<Integer> dest = new ArrayList<>();//必须保证新的dest大小和list相等
for (int i = 0; i < list.size(); i++) {
dest.add(0);//以list大小为基准将dest元素初始值全部赋为0
}
Collections.copy(dest,list);
System.out.println("复制之后的list:"+dest.toString());
//reverse反转
Collections.reverse(list);
System.out.println("反转之后的list:"+list.toString());
//shuffle打乱
Collections.shuffle(list);
System.out.println("打乱之后的list:"+list.toString());//每次运行的结果顺序都不一样
//补充:
//1.list转为数组
Integer[] arr = list.toArray(new Integer[0]);//需要给定大小,默认给0,如果大小超过list长度,则超过的部分为null
System.out.println("list转为arr数组为:"+Arrays.toString(arr));
//2.数组转为list
String[] str = {"张三","李四","王五"};
//集合是一个受限集合,不能 添加和删除元素
List<String> listStr = Arrays.asList(str);
System.out.println("数组转为集合:"+listStr.toString());
//如果是基本数据类型则需要转化为包装类
Integer[] array = {100,200,300,400,500};
List<Integer> listInt = Arrays.asList(array);
System.out.println(Arrays.toString(array));
}
}
排序之前:[50, 20, 15, 62, 7]
排序之后:[7, 15, 20, 50, 62]
二分查找结果:2
复制之后的list:[7, 15, 20, 50, 62]
反转之后的list:[62, 50, 20, 15, 7]
打乱之后的list:[7, 62, 50, 20, 15]
list转为arr数组为:[7, 62, 50, 20, 15]
数组转为集合:[张三, 李四, 王五]
[100, 200, 300, 400, 500]
上一篇: Java集合HashMap的使用
下一篇: LeedCode 617:合并二叉树