java语言HashSet集合

java集合
java集合类存放于java.util,用于存放对象的容器。

  • 集合中只能存放对象,例如一个int类型对应的对象类是Interger。
  • 集合存放的是多个对象的引用,对象的本身还是在堆内存中。
  • 可以存放不同类型,不限数量的数据类型。

分为 无序不重复的集合(Set),有序可重复的集合(List),具有映射关系(Map)
ps:jdk5后加入记住容器对象的泛型(规定集合中存的对象的类型)。

HashSet
Set的典型,常用的Set集合。
性质:无序、不可重复、不是线程安全的、集合元素可以用Null。
存入元素用hashcode方法得到的hashcode值,来决定他的存储位置。

实现
继承
HashSet类
Set接口
Collection接口
Collection接口中方法如下表
添加方法 用途
add(Object o) 指定元素的添加
addAll 指定集合中全部元素的添加
删除方法 用途
remove(Object o) 指定元素的删除
removeAll(Collection c) 两个集合的交集的输出
retainAll(Collection c) 两个集合的交集的保留
clear() 清空整个集合
查询方法 用途
size() 集合元素个数
toArray() 将集合的元素转换成Object类型数组
判断方法 用途
isEmpty() 集合是否为空
equals(Object o) 集合是否与指定元素相同
contains(Object o) 集合是否包含指定元素
containsAll(Collection c) 集合是否包含指定集合

定义一个HashSet集合:

Set set1 = new HashSet();
Set set2 = new HashSet();

Collection接口方法的使用方法:

set1.add(1);  //添加一个整形元素
set1.add("a")//添加一个字符型元素
set1.addAll(set2);  //将set2中的元素添加到set1
set1.addAll(null);  // 集合中元素可以为空
set1.remove("a"); //删除”a“这个元素
set1.clear();  //清空set1
System.out.println(set1); //直接输出set1
System.out.println(set1.contains("a")); //输出set1中是否含有"a";
System.out.println(set1.contains(set1.size())); //输出集合的元素个数

集合遍历:
1.迭代器:

Iterator it = set.iterator();
while(it.hasNext()){
	System.out.println(it.next());
}

2.for each迭代:

for(Object obj:set){
	System.out.println(obj);
}

泛型
指定集合中元素的类型

Set<String> set3 = new HashSet<String>();
//这样定义set3中的元素必须是String类型
Set<Object> set4 = new HashSet<Object>();
//Object是所有类的父类,这样的定义可以将任何类型存入
发布了10 篇原创文章 · 获赞 3 · 访问量 821

猜你喜欢

转载自blog.csdn.net/sdutxkszy/article/details/105397779