本文主要是介绍Java中Arrays类和Collections类常用方法示例详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
《Java中Arrays类和Collections类常用方法示例详解》本文总结了Java中Arrays和Collections类的常用方法,涵盖数组填充、排序、搜索、复制、列表转换等操作,帮助开发者高...
Arrays.fill()相关用法
int arr[] = new int[5]; //所有元素赋值为5 Arrays.fill(arr,5); //从索引[1,3)赋值为1 Arrays.fill(arr,1,3,1); //从索引[2,4)赋值为2 Arrays.fill(arr,2,4,2);
Arrays.toString()
//将数组China编程元素放入字符串中,可以方便快速打印数组元素 //底层实现 //使用StringBuilder拼接字符串 StringBuilder b = new StringBuilder(); //在开头加[ b.append('['); //遍历数组拼接元素 for (int i = 0; ; i++) { b.append(String.valueOf(a[i])); if (i == iMax) //末尾拼接]并转为String类型 return b.append(']').toString(); b.append(", "); }
Arrays.sort()
//排序,默认为升序排序 //[3, 3, 5, 2, 2] Arrays.sort(arr2); //打印结果:[2, 2, 3, 3, 5] System.out.println(Arrays.toString(arr2)); //倒序排序,Collections.reverseorder()返回一个比较器 Arrays.sort(arr2, Collections.reverseOrder());
Arrays.equals()
//比较两个数组中元素是否相等 //相同:true,不同:false System.out.println(Arrays.equals(arr1,arr2));
Arrays.binarySearch()
//二分查找元素是否存在数组 int arr4[] = {1,3,3,3,3}; //返回二分查找第一次匹配到元素的索引值,不保证返回的是第一个出现的位置,如果不存在则返回实际插入索引+1的负数 //2 System.out.println(Arrays.binarySearch(arr4,3)); //-6 System.out.println(Arrays.binarySearch(arr4,10)); //数组区间查找,[0,3),返回第一次命中的下表 System.out.println(Arrays.binarySearch(arr4,0,3,3));
Arrays.copyOf()和Arrays.copyOfRange()
int arr5[] = {1,2,3,4,5}; //拷贝前三个元素[1,2,3] int[] arr6 = Arrays.copyOf(arr5, 3); //拷贝下标[2,5):[3,4,5] 编程int[] arr7 = Arrays.copyOfRange(arr5, 2, 5); //若超过arr5长度,后面元素补0:[3,4,5,0,0...] copyOfRange(arr5, 2, 9);
Arrays.asList()
//将对象数组转为list集合,不能是基本类型的数组
Integer arrpython8[] = {1,2,3,4,5};
List<Integer> list = Arrays.asList(arr8);
Collections.addAll()
List<Integer> list = new ArrayList<>(); //向集合中一次添加多个元素 Collections.addAll(list,2,4,3,23,43);
Collections.sort()
//根据类型中实现的Comparable接口的compareTo()方法排序,或第二个参数放入自定义的比较器 Collections.sort(list);
Collections.binarySearch()
//二分查找,获取指定元素的索引,若未查找到,返回应插入的元素位置的负数-(索引+1) int idx = Collections.binarySearch(list, 3); System.out.println("key 下标为:"+ idx);
Collections.shuffle()
Collections.addAll(list,2,4,3,23,43); Collections.sort(list); System.out.println(list); //打乱顺序 Collections.shuffle(list); System.out.println(list);
结果:
Collections.reverse()
//翻转元素顺序 Collections.reverse(list); System.out.println(list);
Collections.min() & Collections.max()
//根据元素类型实现的Comparable接口中的compareTo()方法比较获取最大值和最小值 int max = Collections.max(list); System.out.println("最大值:" + max); int min = Collections.min(list); System.out.println("最小值:" + min);
Collections.fill()
//集合中所有元素设置为0 Collections.fill(list, 0);
Collections.swap()
//交换集合中两个索引的元素 Collections.swap(list, 0, 2);
Collections.copy()
//拷贝一个集合到另一个集合中 List<Integer> list2 = new ArrayList<>(); List<Integer> list3 = new ArrayList<>(); //将list3拷贝到list2中,list3的长度必须小于等于list2 Collections.addAll(pythonlist3,1,2,3,4,5); Collections.addAll(list2,0,0,0,0,0); Collections.copy(list2,lisjavascriptt3); System.out.println(list2);
Collections.replaceAll()
//集合中所有元素为2的值替换为100 System.out.println(list2); Collections.replaceAll(list2,2,100);
到此这篇关于Java中Arrays类和Collections类常用方法的文章就介绍到这了,更多相关java arrays类和collections类内容请搜索China编程(www.chinasem.cn)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程China编程(www.chinasem.cn)!
这篇关于Java中Arrays类和Collections类常用方法示例详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!