1 .去除重量
list很重:
方法一:两个for循环:外层循环控制比较轮数,轮数为list长度减去1; 内层循环控制每一回合的比较次数,每一回合的比较次数是list长度减去当前回合数
for(intI=0; I
for(intj=list.size-1; ji; j---- ) {
if(list.get(j ).equals (list.get (I ) ) )
list.remove(j;
} }
方法2;
在jdk1.8之后,单击List.stream ().distinct );
方法3 :
使用set去除元素
set元素是无序的,不能重复元素
hashset set=new hashset (列表; 使用List的元素创建HashSet集合,此时已经进行了退出操作
List.clear (; //清空原始列表
list.add (设置; //将去除了重量的元素重新放入List中
去除数组的重量:
方法1
在List集合中实现
int [ ] str={ 5,6,6,8,8,7,4 };
列表列表=new ArrayList (;
for(intI=0; I
if (! list.contains(str[I] );
list.add(str[I];
}
}
system.out.println (列表;
方法2 :
使用HashSet:
设置集=new hashset (;
for(intI=0; I
set.add(a[I];
}
2 .进行交叉
list取交叉
lista.retainall(listb ) )。
数组交叉点
string [ ] result _ in Sect=intersect (arr 1,arr2);
3 .两个数组的并集
lista.removeall(listb; //先取两者差集,即listA去除共同部分
lista.addall(listb; 然后将ListA的剩馀部分追加到ListB中
string [ ] result _ union=union (arr 1,arr2);
集也可以使用hashset遍历两个数组
交叉点:将数组1放入链接列表中,然后遍历数组2。 如果linkList包含数组2的元素,请将该元素添加到新数组中。
总结:
1 .重用set
2 .插入链接列表比ArrayList快