Java 集合框架(续)—HashSet
Tips:HashSet 是 Set 接口的一个实现类,能存储不重复的元素,元素的存放是无序的。
1、HashSet的构造:
HashSet hash=new HashSet([Parameter1,Parameter2]);
- HashSet( ):构造空的HashSet,默认初始容量16,加载因子0.75(数据密集程度);
- HashSet(int initialCapacity , float loadFactor ):构造指定初始容量和加载因子的HashSet实例对象。
2、向HashSet实例对象中添加元素:
hashset.add(字符串/整型数/字符/数组/对象类...);
*注:add()方法中,若set中没有要添加的obj,则把要添加的obj添加到set中并返回true,否则返回false.
3、HashSet常用方法:
- hash.clear():删除该set中的所有元素
- hash.remove(Object o):删除指定的元素
- hash.isEmpty():若该set中没有元素,则返回true
- hash.contains(Object o):若该set包含指定的元素,返回true
- hash.size():返回set的容量
4、HashSet的元素添加和遍历实例:
/*HashSetTest1.java*/
import java.util.*;
public class HashSetTest1 {
public static void main(String[] args) {
HashSet hash=new HashSet();
//print the current size of hashset
System.out.println(hash.size());
//add some different type of data to the hashset
hash.add("abc");
hash.add(1);
hash.add('a');
int[] list= {1,2,3};
hash.add(list);
//print the current size of hashset
System.out.println(hash.size());
//遍历 hashset
Iterator ite=hash.iterator();//使用迭代器进行遍历
while(ite.hasNext()) {
Object obj=ite.next(); //创建对象类型
/*
System.out.println(obj);
数组结果无法正确输出!
*/
if(obj instanceof Integer) {
System.out.println("Integer: "+obj);
}
else if(obj instanceof String) {
System.out.println("String: "+obj);
}
else if(obj instanceof Character) {
System.out.println("Character: "+obj);
}
else if(obj instanceof int[]) {
System.out.print("int[]: ");
for(int i=0;i<list.length;i++) {
System.out.print(list[i]+" ");
}
System.out.println();
}
}
}
}
/*
0
4
int[]: 1 2 3
Integer: 1
Character: a
String: abc
*/
转载自:https://blog.csdn.net/tingzhiyi/article/details/52152487