1.ArrayList基本操作
- 初始化
- 新增
- 取出元素
- 遍历
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class ArrayListTest {
public static void main(String[] args) {
//初始化
List<String> list = new ArrayList<>();
//添加元素
list.add("abc");
list.add("def");
//取出元素
String first = list.get(0);
System.out.println("第一个元素"+first);
//第一种遍历方式(for循环)
for(int i = 0;i<list.size();i++)
{
System.out.println(list.get(i)+" ");
}
//第二种遍历方式(迭代器)
Iterator it = list.iterator();
while(it.hasNext()){
System.out.println(it.next()+" ");
}
//第三种遍历方式(foreach)
for(String s:list){
System.out.println(s+" ");
}
}
}
2.LinkedList基本操作
- 初始化
- 新增
- 取出元素
- 遍历
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
public class LinkedListTest {
public static void main(String[] args) {
//初始化
List<String> list = new LinkedList<>();
//添加元素
list.add("abc");
list.add("def");
//取出元素
String first = list.get(0);
System.out.println("第一个元素"+first);
//第一种遍历方式(for循环)
for(int i = 0;i<list.size();i++)
{
System.out.println(list.get(i)+" ");
}
//第二种遍历方式(迭代器)
Iterator it = list.iterator();
while(it.hasNext()){
System.out.println(it.next()+" ");
}
//第三种遍历方式(foreach)
for(String s:list){
System.out.println(s+" ");
}
}
}
3.HashSet基本操作(存入的元素必须重写hashcode和equals方法)
- 初始化
- 新增
- 遍历
import java.util.HashSet;
import java.util.Iterator;
import java.util.Objects;
import java.util.Set;
public class HashSetTest {
public static void main(String[] args) {
Set<Student> set = new HashSet<>();
Student s1 = new Student(1,"lisi");
Student s2 = new Student(2,"zhangsan");
Student s3 = new Student(1,"lisi");
//添加数据
set.add(s1);
set.add(s2);
set.add(s3);
System.out.println(set.size());//结果是2,因为s1,s3两个对象相同
//第一种遍历方式(迭代器)
Iterator it = set.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
//第二种遍历方式(foreach)
for(Student s: set){
System.out.println(s);
}
}
}
class Student{
int id;
String name;
public Student(){
}
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 && Objects.equals(name, student.name);
}
@Override
public int hashCode() {
return Objects.hash(id, name);
}
@Override
public String toString() {
return "Student{" +
"id=" + id +
", name='" + name + '\'' +
'}';
}
}
4.TreeSet基本操作(可对集合内元素进行排序)
- 初始化
- 新增
- 遍历
import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;
public class TreeSetTest {
public static void main(String[] args){
//初始化
Set<Integer> ts = new TreeSet<>();
//新增
ts.add(10);
ts.add(30);
ts.add(50);
//遍历(迭代器)
Iterator it = ts.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
//遍历(foreach)
for(Integer i:ts){
System.out.println(i);
}
}
}
5.HashMap基本操作(HashMap中key部分的元素必须重写hashcode和equals方法)
- 初始化
- 新增
- 取出元素
- 遍历
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class HashMapTest {
public static void main(String[] args) {
//初始化
Map<Integer,String> map = new HashMap<>();
//新增
map.put(8,"lpx");
map.put(13,"wxr");
map.put(11,"xxx");
//遍历1(通过key遍历)
Set<Integer> keys = map.keySet();
for(Integer key : keys){
System.out.println(map.get(key));
}
//遍历2(把HashMap转成Set进行遍历,将HashMap中的键值对转化为Set中的一个元素(节点),元素中包含key,value)
Set<Map.Entry<Integer,String>> nodes = map.entrySet();
for(Map.Entry<Integer,String> node:nodes){
System.out.println(node.getKey()+"="+node.getValue());
}
}
}
Map.put(key,value)执行过程:
Map.get(key)执行过程: