JAVA 集合框架 - 笔记
Collection
单列数据,定义了存储一个一个对象的方法集合
List
List:存储有序、可重复的集合
list:方法
@Test
public void test1(){
//创建集合
List list = new ArrayList();
//添加元素
list.add(123);
list.add(123);//有序可重复
list.add("abc");
list.add(false);
//判断当前集合是否包含指定元素
boolean contains = list.contains(123);
System.out.println(contains);//true
//实例化
Pet pet = new Pet("二哈",2);
list.add(pet);
//需要重写equals()方法来进行比较 重写equals()方法后 -->true
System.out.println(list.contains(new Pet("二哈",2)));//false
//移除一个索引为0的元素
list.remove(0);
//移除一个为abc的元素
list.remove("abc");
System.out.println(list);
}
Iterator
Iterator:Iterator接口称为迭代器,用于遍历Collection集合中的元素
@Test
public void test2(){
List list = new ArrayList();
list.add(123);
list.add("abc");
list.add(false);
//创建一个迭代器的对象
Iterator iterator = list.iterator();
//使用迭代器遍历集合
while (iterator.hasNext()){
System.out.println(iterator.next());
}
}
Set
Set:存储无序、不可重复的集合
无序性:存储数据不是按照数组索引进行顺序添加,而是使用Hash值进行排序
不可重复性:添加元素时元素会进行equals()判断,若返回true则元素不可添加
@Test
public void test3(){
Set set = new HashSet();
//添加元素
set.add(123);
set.add("abc");
set.add(false);
set.add(new Pet("二哈",2));
//判断HASH值,为true则不添加
set.add(123);
//移除元素
set.remove(false);
//foreach循环遍历
for (Object o: set){
System.out.println(o);
}
}
Map
Map:具有映射关系“key - value” 的集合 ,用于存储键值对数据
@Test
public void test4(){
Map map = new HashMap();
//添加
map.put("A",123);
map.put("B",456);
map.put("C",789);
//修改
map.put("A",111);
System.out.println(map);// {A=111, B=456, C=789}
//判断key是否存在
System.out.println(map.containsKey("A"));
//判断value是否存在
System.out.println(map.containsValue(123));
//移除 返回value值,如果无值则返回null
Object value = map.remove("A");
//清空
map.clear();
System.out.println(map.size());//0
}
map中的遍历操作
@Test
public void test5(){
Map map = new HashMap();
map.put("A",123);
map.put("B",456);
map.put("C",789);
//遍历所有key
Set set = map.keySet();
for (Object o: set){
System.out.println(o);
}
//遍历所有value
Collection values = map.values();
for (Object o: values){
System.out.println(o);
}
}