专业的编程技术博客社区

网站首页 > 博客文章 正文

Java判断一个值是否存在list集合中和去掉list集合中重复的元素

baijin 2025-02-06 13:56:45 博客文章 10 ℃ 0 评论

1、判断对象是否存在于list集合中
用list的contains方法,即list.contains(object),返回的是boolean值。

2、去掉list集合中重复的元素
方法一:循环元素删除

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);    
} 
public static void removeDuplicate(List list) {    
  List list1 = new ArrearyList();    
  for ( int i = 0  i < list.size() - 1  i ++ ) {        
    if(!list1.contains(list.get(i))){                   
      list1.add(list.get(i))      
    }           
    System.out.println(list);  
  }

方法二:通过HashSet剔除

public static void removeDuplicate(List list) {           
  HashSet h = new HashSet(list);           
  list.clear();           
  list.addAll(h);     
  System.out.println(list); 
}

一开始用过这个方法,但是因为需要的是不改变集合里对象的顺序,set集合是无序的,也就是说他会打乱你之前list集合中的顺序,所以按照自己需要的进行选择。

方法三: 删除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);
}

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表