javaset方法
⑴ java中SET 和 GET 的用法
我來回答:
通常set 和 get是屬性的存取器,一般稱getter/setter。 set表示設置值,get表示獲取值。在Eclipse中先定義好欄位後,選擇Source/Generate Getters and Setters可以根據選擇自動生成這些方法,JBuilder中對應有BeanInfo的功能。
get方法返回的類型必須為該欄位對應的類型;
set方法返回的類型一般為void,但傳入的類型應為該欄位對應的類型。
所以,jawdat的寫法應該修改為:
public String getName() {}
public void setName(String name) {}
⑵ java裡面的集合框架的set用法應該怎麼做
1、Set:它是無序、不重復、該介面中的方法和Collection介面中的方法一致。
繼承它的子類有HashSet和TreeSet。
HashSet:底層是哈希表數據結構,不同步的它保證元素的唯一性的方式。
根據元素的兩個方法來完成的,一個是HashCode、一個是equals方法,只有當hashCode方法算出哈希值相同時,會再次判斷兩個元素的equals方法是否為true,如果是true說明兩個元素相同,不存儲,所以往hashSet集合中存儲自定義對象時,要覆蓋hashCode,equals方法,通過自定義對象具備的特有數據定義hashCode、equals的具體實現。
treeSet:用於給集合中的額元素按照指定的順序進行排序,底層是二叉樹結構,線程是不同步的。
它保證元素的唯一性,就是通過元素對象的比較方法返回值來確定的,如果為0,則視為兩個元素時相同的元素,不存儲。
treeset的兩種排序方式:
1、讓元素自身具備比較功能,就是強制讓元素類去實現comparable介面,覆蓋compareTo方法,這時元素具備的自然排序,可是如果元素自身不具備比較功能,獲取具備的比較功能不是所需要的,這時排序方式就不能用了。
2、讓集合自身具備比較功能,需要定義比較器,其實就實現了comparetor介面的子類對象作為參數傳遞給treeSet集合的構造函數,讓treeSet集合一創建就具備了比較功能,該子類必須要覆蓋compare方法。