>类库下载 >java类库 >자바 목록 중복 값 제거

자바 목록 중복 값 제거

高洛峰
高洛峰원래의
2016-10-09 16:40:191736검색

1:

Hastset은 해시코드를 기준으로 반복 여부를 판단하며, 데이터는 반복되지 않습니다.

Java 코드

/** 목록 순서가 유지되지 않음**/

public static void RemoveDuplicate(ArrayList arlList)

{

HashSet h = new HashSet(arlList)

arlList.clear(); >

arlList.addAll(h);

}

2:

Hashset의 add 메소드를 통해 동일한 데이터가 추가되었는지 확인합니다. 데이터가 이미 존재하므로 추가하지 마십시오

Java 코드

/** List order maintained **/      
public static void removeDuplicateWithOrder(ArrayList arlList)      
{      
Set set = new HashSet();      
List newList = new ArrayList();      
for (Iterator iter = arlList.iterator(); iter.hasNext(); )      
{      
Object element = iter.next();      
if (set.add(element)) newList.add(element);      
}      
arlList.clear();      
arlList.addAll(newList);      
}
다음은 인터넷에서 가져온 것입니다.

방법 1: 루프 요소 삭제

//  删除ArrayList中重复元素 
 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을 통해

//  删除ArrayList中重复元素 
 public   static   void  removeDuplicate(List list)  {
    HashSet h  =   new  HashSet(list);
    list.clear();
    list.addAll(h);
    System.out.println(list);
}
제거 방법 3: ArrayList의 중복 요소를 삭제하고 순서 유지

// 删除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);
 }
 
自己使用: 删除 “0.0”的值
List<List<String>> list1 = (List<List<String>>) map.get("商品入库表"); //表1 入库详细表


//删除list中 数量为 0值
for (Iterator<List<String>> item = list1.iterator(); item.hasNext(); ) {
    List<String> it = item.next();
    System.out.print(it);
    if (it.get(4).equals("0.0")) {
        item.remove();
    }
}
링크 주소: http: //iteye.blog.163.com/blog/static /186308096201302565345510/

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.