java ArrayList去重


對list集合中的重復值進行處理,大部分是采用兩種方法,

  一種是用遍歷list集合判斷后賦給另一個list集合,

  另一種是用賦給set集合再返回給list集合。 

 

方法1:set集合去重,不打亂順序

List<String> list = new ArrayList<String>();
list.add("aaa");
list.add("bbb");
list.add("aaa");
list.add("aba");
list.add("aaa");

//set集合去重,不打亂順序
Set<String> set = new HashSet<String>();
List<String> newList = new ArrayList<String>();
for (String cd : list) {
    if (set.add(cd)) {
        newList.add(cd);
    }
}
System.out.println("去重后的集合: " + newList);

方法2:遍歷后判斷賦給另一個list集合

//遍歷后判斷賦給另一個list集合
List<String> newList = new ArrayList<String>();
for (String cd : list) {
    if (!newList.contains(cd)) {
        newList.add(cd);
    }
}
System.out.println("去重后的集合: " + newList);

方法3:set去重

//set去重
Set<String> set = new HashSet<String>();
List<String> newList = new ArrayList<String>();
set.addAll(list);
newList.addAll(set);
System.out.println("去重后的集合: " + newList);

方法4:set去重(代碼縮減為一行)

//set去重(縮減為一行)
List<String> newList = new ArrayList<String>(new HashSet<String>(list));
System.out.println("去重后的集合: " + newList);

方法5:去重並且按照自然順序排列

//去重並且按照自然順序排列
List<String> newList = new ArrayList<String>(new TreeSet<String>(list));
System.out.println("去重后的集合: " + newList);

 

文章來源:http://blog.csdn.net/cs6704/article/details/50158373


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM