亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java中List如何去掉重復元素

發布時間:2020-07-17 10:56:40 來源:億速云 閱讀:286 作者:小豬 欄目:編程語言

這篇文章主要為大家展示了java中List如何去掉重復元素,內容簡而易懂,希望大家可以學習一下,學習完之后肯定會有收獲的,下面讓小編帶大家一起來看看吧。

使用LinkedHashSet刪除arraylist中的重復數據(有序)

LinkedHashSet是在一個ArrayList刪除重復數據的最佳方法。LinkedHashSet在內部完成兩件事:

  • 刪除重復數據
  • 保持添加到其中的數據的順序
List<String> words= Arrays.asList("a","b","b","c","c","d");
HashSet<String> set=new LinkedHashSet<>(words);
for(String word:set){
   System.out.println(word);
}

使用HashSet去重(無序)

//去掉List集合中重復的元素
List<String> words= Arrays.asList("a","b","b","c","c","d");
//方案一:
for(String word:words){
  set.add(word);
}
for(String word:set){
  System.out.println(word);
}

使用java8新特性stream進行List去重

要從arraylist中刪除重復項,我們也可以使用java 8 stream api。使用steam的distinct()方法返回一個由不同數據組成的流,通過對象的equals()方法進行比較。

收集所有區域數據List使用Collectors.toList()。

Java程序,用于在不使用Set的情況下從java中的arraylist中刪除重復項。

List<String> words= Arrays.asList("a","b","b","c","c","d");
words.stream().distinct().collect(Collectors.toList()).forEach(System.out::println);

利用List的contains方法循環遍歷

List<String> list= new ArrayList<>();
    for (String s:words) {
      if (!list.contains(s)) {
        list.add(s);
      }
    }

注:當數據元素是實體類時,需要額外重寫equals()和hashCode()方法。
例如:

以學號為依據判斷重復

public class Student {
  String id;
  String name;
  int age;

  public Student(String id, String name, int age) {
    this.id = id;
    this.name = name;
    this.age = age;
  }

  @Override
  public boolean equals(Object o) {
    if (this == o) return true;
    if (o == null || getClass() != o.getClass()) return false;

    Student student = (Student) o;

    return Objects.equals(id, student.id);
  }

  @Override
  public int hashCode() {
    return id != null &#63; id.hashCode() : 0;
  }

  @Override
  public String toString() {
    return "Student{" +
        "id='" + id + '\'' +
        ", name='" + name + '\'' +
        ", age=" + age +
        '}';
  }
}

以上就是關于java中List如何去掉重復元素的內容,如果你們有學習到知識或者技能,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

达州市| 司法| 毕节市| 广平县| 老河口市| 十堰市| 德格县| 北海市| 光山县| 长春市| 敦煌市| 永兴县| 栾城县| 麻城市| 乌拉特前旗| 安庆市| 和龙市| 柯坪县| 盐城市| 荣昌县| 清河县| 秀山| 崇礼县| 泌阳县| 海口市| 南澳县| 福鼎市| 黎川县| 嘉善县| 辉南县| 襄汾县| 山阴县| 荣昌县| 绩溪县| 阿城市| 固始县| 南丰县| 怀仁县| 桂林市| 正定县| 綦江县|