前言
Java集合类存放于java.util 包中,是一个用来存放对象的容器。
- 集合只能存放对象。 比如存一个int类型 1 放入集合中,其实它自动转换成Integer类后存入的,Java中每一基本类型都有对应的引用类型。
- 集合存放的是多个对象的引用,对象本身还是放在堆内存中。
- 集合可以存放不同的类型,不限数量的数据类型。
Java基本数据类型的转换
基本数据类型 | 包装类 |
---|---|
boolean | Boolean |
byte | Byte |
short | Short |
int | Integer |
long | Long |
char | Character |
float | Float |
double | Double |
三大提体系
-
Set :无序,不可重复的集合
-
List :有序,可重复的集合
-
Map: 具有映射关系的集合
-
在JDK 5 之后,增加了泛型,Java集合可以记住容器中对象的数据类型
HashSet
HashSet 是Set 接口的典型实现,大多数时候使用set集合时都使用这个实现类。 set集合就是指HashSet
HashSet 按 Hash 算法来储存集合中的元素,因此具有很好的存取和查找性能。
特点 :
- 不能保证元素排列顺序
- 不可重复
- HashSet 不是线程安全的
- 集合元素可以是 null
注意!
- 存在set集合那个位置由这个值的Hashcode决定
- 不可重复指的是Hashcode不相同
一波力量图 加油!
Set集合 属性
- add 添加元素
- remove 移除一个元素
- clear 清空
- contains 判断元素是否存在
- size 判断他的大小
Set set = new HashSet();
Set <Object>set = new HashSet<Object>();
// 第二个与第一个等价
set.add(666);
set.add("H");
set.add(null);
set.add("H");
它是无序 && 不可重复的!(Eclipse Run 的)
移除和增加的同理这里不再累述,清空是删除全部元素。
判断元素是否包含
System.out.println(set.contains("o"));
遍历集合
一:迭代器 遍历集合
Iterator it = set.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
输出结果 :
二:for each 迭代集合 推荐使用
它可以更加简便的表示遍历
for(Object obj : set ){// 把集合set中的每一个值取出来,都赋给ojb,直到set循坏结束。
System.out.println(obj);
}