hasset java_java HashSet的使用
今天在寫代碼時想要使用HashSet,由于之前并不了解,就在網上查了一下原理及使用方法。
HashSet原理
該類實現了Set接口,HashSet中不允許元素重復,不保證集合中元素的順序,元素可為null,但最多只能一個。對于 HashSet 而言,HashSet繼承自AbstractSet,它是基于 HashMap 實現的,HashSet 底層使用HashMap來保存所有元素。因此HashSet的實現比較簡單,相關 HashSet 的操作,基本上都是直接調用底層 HashMap 的相關方法來完成。
常用方法
構造方法:
默認構造器:
publicHashSet() {
map= new HashMap<>();
}
將傳入的集合添加到HashSet的構造器
public HashSet(Collection< ? extends E>c) {
map= new HashMap<>(Math.max((int) (c.size()/.75f) + 1, 16));
addAll(c);
}
明確初始容量和裝載因子的構造器
public HashSet(int initialCapacity, floatloadFactor) {
map= new HashMap<>(initialCapacity, loadFactor)
}
僅明確初始容量的構造器(裝載因子默認0.75
public HashSet(intinitialCapacity) {
map= new HashMap<>(initialCapacity);
}
API中幾個常用方法:
size() :返回值為int,返回此 set 中的元素的數量(set 的容量)。
isEmpty():返回值為boolean, 如果此 set 不包含任何元素,則返回 true。
add(E?e):返回值為boolean,如果此 set 中尚未包含指定元素,則添加指定元素。
iterator():返回值為Iterator, 返回對此 set 中元素進行迭代的迭代器。
remove(Object?o):返回值為boolean,如果指定元素存在于此 set 中,則將其移除。
contains(Object?o):返回值為boolean,如果此 set 包含指定元素,則返回 true。
clear():無返回值, 從此 set 中移除所有元素。
clone():返回值為Object,返回此HashSet的淺表副本,而并沒有復制元素本身。
HashSet的簡單使用
創建:
packagecom.cmq.common;importjava.util.ArrayList;importjava.util.HashSet;importjava.util.List;importjava.util.Set;importcom.cmq.entity.Shoes;importcom.cmq.entity.Manager;/***@authorchenmeiqi
*@version2020年2月10日 下午3:33:08
*@公共屬性類*/
public classConstants {//使用List模擬數據庫,創建管理員List對象//public static List mgrlist = new ArrayList<>();
public static Set hashsetShoes= new HashSet<>();
}
添加:
if (idyz(Integer.parseInt(s[0]))) {if (Util.isEmpty(s[1])) {if (s[6].equals("1") || s[6].equals("2") || s[6].equals("3") || s[6].equals("4")) {
shoe.setId(Integer.parseInt(s[0]));
shoe.setName(s[1]);
shoe.setSign(Integer.parseInt(s[6]));
shoe.setImage(s[2]);
shoe.setPrice(Double.parseDouble(s[3]));
shoe.setPub_address(s[4]);
shoe.setPub_date(Util.StringToDate(s[5]));//保存set集合中
Constants.hashsetShoes.add(book);
}else{
System.out.println("*******類別輸入有誤!****");
}
}else{
System.out.println("*******名稱不能為空!*****");
}
}
刪除:
for(Shoesshoes:Constants.hashsetShoes) {if(shoes.getId() == id_input) {//從hashsetShoes中查詢出id為傳入的id的用戶
Constants.hashsetBook.remove(shoes);//刪除該商品
break;
}
}
總結
以上是生活随笔為你收集整理的hasset java_java HashSet的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RFT属于软件测试管理工具,IBM Ra
- 下一篇: 初学博弈论