Java特殊语法记录
数组
从数组生成可删除元素的list
List<Integer> list = new LinkedList<>(Arrays.asList(array));
删除所有空元素
list.removeAll(Collections.singleton(null));
数组排序
int [][] intervals = new int[10][2];
Arrays.sort(intervals, new Comparator<int[]>() {
public int compare(int[] interval1, int[] interval2) {
return interval1[0] - interval2[0];
}
});
Integer[] newNums = new Integer[milestones.length];
for (int i = 0; i < milestones.length; i++) {
newNums[i] = milestones[i];
}
Arrays.sort(newNums, new Comparator<>(){
@Override
public int compare(Integer o1, Integer o2) {
if (o1 > o2) return -1;// 若此处指定为1, 则为升序
else if (o1 < o2) return 1;// 若此处指定为-1, 则为升序
else return 0;
}
});
数组转换
int[] intArray = {1, 2, 3, 4, 5};
List<Integer> list = Arrays.stream(intArray).boxed().collect(Collectors.toList());
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
int[] intArray = list.stream().mapToInt(Integer::intValue).toArray();
数组求和
Arrays.stream(array).sum();
队列
优先队列
PriorityQueue<Integer> priorityQueue = new PriorityQueue<>();
普通队列初始化
Queue<Integer> queue = new LinkedList<Integer>(Arrays.stream(arr).boxed().collect(Collectors.toList()));