Java Set介面全攻略

2021-08-14 22:44:43 字數 2319 閱讀 6064

乙個不包含重複元素的集合 並且還是無序的(無下標)

set 介面繼承 collection 介面 內部實現方法相同 在此不再贅述

是set 的實現類 利用hashset 進行去重

建立乙個人類物件 (不再演示)

// 利用hashset 進行去重物件

hashsetset = new hashset<>();

set.add(new person("james", 18));

set.add(new person("james", 18));

set.add(new person("tom", 17));

set.add(new person("tom", 17));

set.add(new person("jerry", 18));

set.add(new person("jerry", 18));

// 遍歷set

iteratoriterator = set.iterator();

while (iterator.hasnext())

// 這裡如果直接執行的話 輸出結果並不是我們所想要的

//通過分析我們得知 當set集合在進行儲存的時候 hashcode值相同 會呼叫 equals方法進行對比 是同乙個物件就不存 當hashcade不相同時 沒有呼叫 equals 因此 我們需要通過重寫 hashcode 和 equals方法

@override

public

inthashcode()

@override

public boolean equals(object obj) else

if (!name.equals(other.name)) // 使用string 類的equals比較判斷

return

false;

return

true;

}

是hashset的子類 有序 怎麼存的就能怎麼取出

例題練習:

// 輸入一串字串 去掉重複的字元

scanner scanner = new scanner(system.in);

string string = scanner.nextline();

linkedhashsetlinkset = new linkedhashset<>();

char chararray = string.tochararray();

for (int i = 0; i < chararray.length; i++)

system.out.println(linkset);

無序 不重複 無下標 主要作用 用來排序

**示例:

//建立乙個學生類

// 鍵盤錄入5個學生資訊(姓名,語文成績,數學成績,英語成績)

// 錄入的學生資訊格式(姓名,語文成績,數學成績,英語成績)

// 按照總分從高到低輸出到控制台。輸出學生所有資訊

scanner scanner = new scanner(system.in);

treesetset = new treeset<>( new scorecomper());

while (set.size() < 5)

for (student student : set)

// 這裡如果想進行排序 有兩種方法 第一種使用系統給出的乙個介面 來實現排序 comparable

student類裡 實現介面 comparable然後 實現compareto方法

@override

public

intcompareto(student o)

return

this.gettotalscore() - o.gettotalscore();

}//第二種比較方法 使用treeset 中的構造方法 comparator 來實現

// 使用比較器 來排序 的步驟

// 1.建立乙個類 實現 comparator 介面

// 2.實現介面中的方法 並編寫比較的規則

// 3.把該類的物件 傳入 treeset集合中

// 建立乙個比較器類 專門來做字串的長度比較

// 實現comparator 介面 並實現方法

class compare implements comparator

測試全攻略

include class1.h include include cppunit testrunner.h include cppunit testresult.h include cppunit testresultcollector.h include cppunit extensions he...

Ubuntu 藍芽全攻略

ubuntu 的藍芽支援相信很多同學都在使用吧,插上就用,連個手機傳個檔案啊什麼的非常方便。但是你有沒有想過壓榨出其更大的潛能呢?有沒有想過坐到電腦前,開啟藍 牙連上手機,戴上耳麥,直接就通過電腦來接打 了呢?或者連上你的 ipod touch,聲就從電腦的音箱中飄出了呢?當然,windows 系統...

PcAnywhere使用全攻略

一聽名字就知道 pcanywhere 是什麼意思了,pcanywhere是一套老牌遠端控制軟體,可執行在windows95 98 nt 2000 me下。使用者可以通過主控或被控的方 式,遠端管理已連線上網際網路或內聯網的計算機,而且管理方式為what s you see what s you ge...