系列说明:本系列将通过图解和简短的代码来介绍java基础中各个知识点,专注于最基本的用法,不涉及复杂的底层代码,帮助初学者迅速的理解概念和了解常用方法
==============================分割线=====================================
一句话理解集合:集合就像是一个加强版的数组,调用集合的相关方法,让使用者能够更加便捷的操作数据容器
详细思维导图见ProcessOn链接:Collection和Map图解 | ProcessOn免费在线作图,在线流程图,在线思维导图
Collection常用方法介绍(以ArrayList为例):
package Collection;
import java.util.ArrayList;
import java.util.Iterator;
public class Test1 {
public static void main(String[] args) {
ArrayList<Student> a1 = new ArrayList<Student>();//创建一个ArrayList
Student s1 = new Student(" 张三", 0001);
a1.add(s1);//增
// a1.addAll(Collection c);//向a1集合中添加另一个集合
// a1.remove(int index);//根据下标进行删除
// a1.remove(Object o);//根据元素进行删除
// a1.size();//获取元素个数;
// a1.get(2);//根据下标获取元素。注意:输入错误的下标会报错;
// a1.contains(Object o);//判断集合是否包含元素
//遍历集合的两种方式
//1.for each 循环
for (Student s : a1) {
System.out.println(s);//如果要输出详细信息,需要在元素类中重写toString
}
//2.使用iterator
Iterator<Student> iterator = a1.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
}
}
Collection常用方法介绍(以HashMap为例):
package Collection;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map.Entry;
import java.util.Set;
public class Test2 {
public static void main(String[] args) {
HashMap<String, Student> hp1 = new HashMap<String, Student>();//创建一个HashMap
Student s1 = new Student("张三", 0001);
Student s2 = new Student("李四", 0002);
Student s3 = new Student("张三", 0003);//s3会覆盖s1,因为key相同,value会覆盖原来的值
hp1.put("张三", s1);//添加元素
hp1.put("李四", s2);
hp1.put("张三", s3);
//利用entrySet来循环遍历
for (Entry<String, Student> entry : hp1.entrySet()) {
System.out.println("key:" + entry.getKey() + ", value:" + entry.getValue().toString());
}
//借助键集来循环遍历
Set<String> keys = hp1.keySet();
for (String string : keys) {
System.out.println("key:" + string + ", value:" + hp1.get(string));
}
//循环值集
Collection<Student> values = hp1.values();
for (Student p : values) {
System.out.println(p.toString());
}
// hp1.remove(key);//根据key删除元素
}
}