本文目錄一覽:
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方法。
java的set方法
我怎麼沒明白呢? xx是個類還是個java primitive type?給java 變量賦值用 =
變量 = 值;
就行了啊。
看你寫xx.setParentId (‘0’);估計xx是個類?xx有個變量叫parentId? 你想給這個parentId一個值?
你可以在xx類里叫一個set方法
Class XX{
private int parentId;
public void setParentId(int parentId){
this.parentId = parentId;
}
}
外部調用時 xx.setParentId(0);就可以。
當然,如果parentId是字符串,就把int的地方改成String,然後調用xx.setParentId(“0”);
在java中使用“set/get”的方法是什麼?
在java中,get和set方法分別是用來獲取和設置對象中數據成員值。
列舉一些用法:
1、當數據成員是 private 時,只能通過get 和 set方法來設置,因為這些數據成員不能被直接訪問。
2、當需要對輸入的數據進行變換時使用。如能通過輸入任意整數來設置奇偶標誌。這時必須對輸入數據進行運算後,才能賦值。
java調用set方法更改姓名
java調用set方法更改姓名方法:
1、通過反射調用get/set方法都是通過獲取屬性的name,然後通過字符串截取將首字母大寫,再拼上get/set來做
2、通過fieldName轉成字符數組,首個字符-32來避免字符串截取的
我覺得兩種方式都可以,但是不知道有沒有遇到過,生成的get/set方法並不是已get/set開頭的,而是以is開頭的,比如boolean類型的成員變量。這個時候我們就需要去判斷屬性的類型,然後用不同的前綴來拼接get/set方法名。其實,在jdk中已經包含了這樣的工具類
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/243731.html