java的数据类型操作 - 数组

使用java做算法题时,与数组相关的常用操作:

常用方法 语句
数组array的长度:不同于string的length();不同于lsit的.size() array.length
创建 int[] nums = new int[2][2]{{0,0},{1,1}};
最大值填充 Arrays.fill(array, Integer.MAX_VALUE);
排序 Arrays.sort(intervals, Comparator.comparingInt(o -> o[0]));// 根据数组的第一个值。
排序 Arrays.sort(nums);
降序排列 Arrays.sort(arr,Collections.reverseOrder());
二维排序 Arrays.sort(arr, (o1, o2) -> o1[0] == o2[0] ? (o1[1] - o2[1]) : o2[0] - o1[0]);
数组变成list new ArrayList(Arrays.asList(nums[k], nums[i], nums[j]));
快速复制数组 Arrays.copyOfRange(nums,left,right); /./ 左闭右开 [left,right)
选择性复制数组 System.arraycopy(heights, 0, newHeights, 1, len);参数解释:(Object src, int srcPos, Object dest, int destPos, int length);
数组去重 new ArrayList(set);// set是hashset,先用set去重,然后转成ArrayList()
Integer[] 转int[](其他方法) int[] a = integers.stream().mapToInt(Integer::valueOf).toArray();
链表变数组 Integer[] integers2 = list1.toArray(new Integer[0]);
链表变数组 List<int[]> res = new ArrayList<>();res.toArray(new int[res.size()][]);
数组变链表 list.add(Arrays.asList(nums[k],nums[i],nums[j]));
posted @ 2021-09-13 23:40  子于舟  阅读(63)  评论(0)    收藏  举报