java資料結構 Set

2021-08-15 16:49:14 字數 984 閱讀 8199

set繼承的是collection介面,主要是實現資料的去重和排序。因此它有兩個實現類hashset和treeset。

下面我來介紹一下這兩個類的作用。

hashset,可以按照我們的自定義來進行去重。比如,我們在錄入學生資訊的過程中。要求學生的編號不能相同,因此我們需要對學生編號進行查重。但是,學生編號只是學生類中的乙個屬性,當我們需要對我們的自定義類進行查重時,我們就需要重寫object類的equal()方法和hashcode()方法。

**如下:

@override

public int hashcode()

@override

public boolean equals(object o)

if(o instanceof student)

return false;

}

這樣我們就可以實現學生**的去重。

treeset,可以按照我們的自定義變數進行排序。例如,我們可以按照學生的年齡對學生進行排序,這個時候我們需要實現comparable介面,並且重寫其中的compareto()方法。

public int compareto(student o) //這個方法是為了防止兩個值相同時進行去重

return s.age-this.age;//降序排列

//return this.age-s.age; 公升序排列

}} return 0;

}

我們可以在這個方法中看到,我們需要設定返回值來進行公升序降序排列,同樣增加了一步判斷防止將具有相同學生年齡的學生認為是同乙個學生而進行去重。

接下來我來簡要說一說如何遍歷乙個集合(set)。

首先我們可以使用迭代器,**如下所示。

iteratorit = hset.iterator();

while(it.hasnext())

Set資料結構

1 es6 提供了新的資料結構 set。它類似於陣列,但是成員的值都是唯一的,沒有重複的值 set 本身是乙個建構函式,用來生成 set 資料結構。const s new set 2,3,5,4,5,2,2 foreach x s.add x for let i of s 2 354上面 通過add...

set資料結構

set 資料結構,類似陣列。所有的資料都是唯一的,沒有重複的值。它本身是乙個建構函式。屬性和方法 應用 var arr 1 1,1 3,4 5,3 5 資料去重 varset new set arr console.log set console.log set.size 4 console.log...

set資料結構

set類似於陣列,但是成員的值都是唯一的,沒有重複的值 const s1 newset console.log s1,size 0 const s2 newset a b console.log s2,size 2 const s2 newset a b a console.log s2,size ...