首页 > 代码库 > 去除List列表中重复值(稍作调整,也适合于List<T> 和 List<?>)
去除List列表中重复值(稍作调整,也适合于List<T> 和 List<?>)
方法一 循环元素删除
[c-sharp] view plaincopy
- 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);
方法二 // 删除ArrayList中重复元素
[c-sharp] view plaincopy
- 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);
方法三 删除ArrayList中重复元素,保持顺序
[c-sharp] view plaincopy
- // 删除ArrayList中重复元素,保持顺序
- 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);
- }
方法四 linq
[c-sharp] view plaincopy
- IList<string> U_list= new List<string>();
- IList<string> Update_list= new List<string>();
- var ulist = (from li in U_list
- select li).Distinct();
- foreach (var d in ulist)
- {
- Update_list.Add(d);
- }
去除List列表中重复值(3种解决方法)
public static void main(String[] args) { String[] ar = { "dd", "c", "dd", "ff", "b", "e", "e" }; ArrayList list = new ArrayList(); for (int i = 0; i < ar.length; i++) { list.add(ar[i]); } System.out.println("运行前:"); for (int i = 0; i < list.size(); i++) { System.out.print(list.get(i) + " "); } System.out.println(); /* 第一种方法 */ /** * set方法去除list中重复的数据 set中插入重复的值只保留一个 */ HashSet h = new HashSet(list); list.clear(); list.addAll(h); /* 第一种方法 */ /* 第二种方法 */ /** * 第二中方法去除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); /* 第二种方法 */ /* 第三种方法 */ /** * 普通的方法去除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("运行后:"); for (int i = 0; i < list.size(); i++) { System.out.print(list.get(i) + " "); } }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。