자바 List 집합 무 거 운 방법 (순서 유지 와 순서 유지 하지 않 음)

3106 단어 Java
1. list 의 모든 요 소 를 반복 해서 삭제
/**
*   list            
* @param list     list
* @return     list
*/
public static  List removeDuplicate(List list){
  for(int i=0;i1;i++){
      for(int j=list.size()-1;j>i;j--){
          if (list.get(j).equals(list.get(i))){
              list.remove(j);
          }
      }
  }
  return list;
}

2. HashSet 을 통 해 무 게 를 제거
/**
 *   HashSet  
 * @param list     list
 * @return     list
 */
public static  List removeDuplicateHashSet(List list){
    HashSet hs = new HashSet<>(list);
    list.clear();
    list.addAll(hs);
    return list;
}

3. List 에서 중복 요 소 를 삭제 하고 순 서 를 유지 합 니 다.
/**
 *   List     ,     
 * @param list     list
 * @return     list
 */
public static  List removeDuplicateKeepOrder(List list){
    Set set = new HashSet();
    List newList = new ArrayList<>();
    for (T element : list) {
        //set               
        if (set.add(element)) newList.add(element);
    }
    list.clear();
    list.addAll(newList);
    return list;
}

4. list. contain () 을 이용 하여 무 게 를 제거
/**
 *   list.contain()   
 * @param list
 * @return
 */
public static  List removeDuplicateContain(List list){
    List listTemp = new ArrayList<>();
    for (T aList : list) {
        if (!listTemp.contains(aList)) {
            listTemp.add(aList);
        }
    }
    return listTemp;
}

좋은 웹페이지 즐겨찾기