1.List集合(ArrayList和LinkedList类似):有序可重复
import java.util.ArrayList;
import java.util.Iterator;
public class review_1 {
public static void main(String[] args) {
//创建集合
ArrayList arrayList=new ArrayList();
//LinkedList arrayList=new LinkedList();
//添加元素
arrayList.add("zhangsan");
arrayList.add("lisi");
arrayList.add("wangwu");
//取出元素(Array List是通过下标取出)
arrayList.get(2);//wangwu
//遍历1--for循环
for (int i=0;i< arrayList.size();i++){
System.out.println(arrayList.get(i));
}
//遍历2--foreach
for (Object a:arrayList){
System.out.println(a);
}
//遍历3--Iterator(所有Collection集合都通用)
Iterator it=arrayList.iterator();
while (it.hasNext()){
System.out.println(it.next());
}
}
}
2.Set集合:无序不可重复
HashMap的Key,存储在HashMap集合的Key元素需要重写equals和hashcode
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedList;
public class review_1 {
public static void main(String[] args) {
//创建集合
HashSet s1=new HashSet();
//添加元素
s1.add("zhangsan");
s1.add("lisi");
s1.add("wangwu");
//HashSet没有下标,不能通过下标取出
//遍历1--foreach
for (Object a:s1){
System.out.println(a);
}
//遍历2--Iterator
Iterator it=s1.iterator();
while (it.hasNext()){
System.out.println(it.next());
}
}
}
import java.util.*;
public class review_1 {
public static void main(String[] args) {
Set<Student> set1=new HashSet();
Student student=new Student(1,"lisi");
Student student1=new Student(2,"zhangsan");
Student student2=new Student(3,"wangwu");
set1.add(student);
set1.add(student1);
set1.add(student2);
for (Student a:set1){
System.out.println(a);
}
}
}
class Student{
private int id;
private String name;
public Student(int id, String name) {
this.id = id;
this.name = name;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Student student = (Student) o;
return id == student.id && name.equals(student.name);
}
@Override
public int hashCode() {
return Objects.hash(id, name);
}
@Override
public String toString() {
return "Student{" +
"id=" + id +
", name='" + name + '\'' +
'}';
}
}
3.HashSet集合:无序不重复(自动对元素大小排序)
package OOP;
import java.util.*;
public class review_1 {
public static void main(String[] args) {
//创建集合
TreeSet ts=new TreeSet();
ts.add(12);
ts.add(1);
ts.add(11);
ts.add(4);
ts.add(2);
ts.add(3);
ts.add(2);
//增强for
for (Object a:ts){
System.out.println(a);
}
//迭代器
Iterator it=ts.iterator();
while (it.hasNext()){
System.out.println(it.next());
}
}
}
4.HashMap
import java.util.*;
public class review_1 {
public static void main(String[] args) {
//创建集合
HashMap<Integer,String> hashMap=new HashMap<>();
//添加元素
hashMap.put(1,"lisi");
hashMap.put(2,"wangwu");
hashMap.put(3,"zhaoliu");
hashMap.put(2,"xiaohuang");//value一样,前面添加的会被覆盖
//遍历1--通过Key逐一获取
//先取出所有Key放到set集合
Set<Integer> set=hashMap.keySet();
for (Integer i :set){
System.out.println(i+"="+hashMap.get(i));
}
//遍历2--将map集合转换成set集合,set集合中存放每一个都是节点(包括Key和value)
Set<Map.Entry<Integer,String>> s1=hashMap.entrySet();
for (Map.Entry<Integer,String> i:s1){
System.out.println(i.getKey()+"="+i.getValue());
}
}
}