Android List删除重复数据
程序员文章站
2023-11-12 13:54:28
1、通过循环进行删除
public static void removeduplicate(list list) {
for ( int i = 0 ; i...
1、通过循环进行删除
public static void removeduplicate(list list) { for ( int i = 0 ; i < list.size() - 1 ; i ++ ) { for ( int j = list.size() - 1 ; j > i; j -- ) { if (list.get(j).equals(list.get(i))) { list.remove(j); } } } system.out.println(list); }
2、通过hashset删除
public static void removeduplicate(list list) { hashset h = new hashset(list); list.clear(); list.addall(h); system.out.println(list); }
3、删除重复元素,并保持顺序。(我没试)
public static void removeduplicatewithorder(list list) { set set = new hashset(); list newlist = new arraylist(); for (iterator iter = list.iterator(); iter.hasnext();) { object element = iter.next(); if (set.add(element)) newlist.add(element); } list.clear(); list.addall(newlist); system.out.println( " remove duplicate " + list); }
4、定义一个方法,调用即可。
publi list<string> getnewlist(list<string> li){ list<string> list = new arraylist<string>(); for(int i=0; i<li.size(); i++){ string str = li.get(i); //获取传入集合对象的每一个元素 if(!list.contains(str)){ //查看新集合中是否有指定的元素,如果没有则加入 list.add(str); } } return list; //返回集合 } public class test{ public static void main(string[] args){ arraylist<string> arr = new arraylist<string>(); arr.add("aaa"); arr.add("bbb"); arr.add("aaa"); arr.add("ccc"); arr = getnewlist(arr); //方法去重 system.out.println(arr); } }