小方法

 2019-07-280 Comments

java边遍历边删除

场景: remove一个List<Integer>中所有大于target的数

错误:使用for(int i=0;i<list.size();i++){}的办法去除会使删除一个元素之后i+1并且list.size()-1,那么就相当于i+2就会有问题

正确:使用Iterator,最后remove这个iterator。具体实现如下

Iterator<Integer> it=list.iterator();
while(it.hasNext()){
    Integer tem=it.next();
    if(tem>=i){
        it.remove();
    }
}

二维数组排序

场景: int[][] 按照第一列大小排序

//int[][] arrs
Arrays.sort(arrs,(o1,o2)->(o1[0]-o2[1]))