ArrayList集合
List list=new ArrayList();
list.add(1);
list.add(2);
list.add(3);
list.add("11");
list.add("22");
System.out.println("list="+list);
输出list=[1, 2, 3, 11, 22]
LinkedList集合
LinkedList<String> lList = new LinkedList<String>();
lList.add("1");
lList.add("2");
lList.add("3");
lList.add("4");
lList.add("5");
System.out.println("lList="+lList);
System.out.println("链表的第一个元素是 : " + lList.getFirst());
System.out.println("链表最后一个元素是 : " + lList.getLast());
输出lList=[1, 2, 3, 4, 5] 链表的第一个元素是 : 1 链表最后一个元素是 : 5
HashSet集合
//创建sites对象,用于保存字符串元素
HashSet<String> sites = new HashSet<String>();
//add()方法添加元素
sites.add("red");
sites.add("blue");
sites.add("green");
sites.add("yellow");
sites.add("red"); //元素重复,不会被添加,集合中元素是唯一的
System.out.println(sites);
//contains()方法判断元素是否在集合中
System.out.println(sites.contains("red"));
//remove()方法删除集合中的元素
sites.remove("red");
System.out.println(sites);
//删除集合中所有元素可以使用clear()方法
sites.clear();
System.out.println(sites);
//后续还要操作,重新添加元素
//add()方法添加元素
sites.add("red");
sites.add("blue");
sites.add("green");
sites.add("yellow");
//size()方法获取集合中元素数量
System.out.println(sites.size());
//迭代HashSet
for(String i : sites){
System.out.println(i);
}
输出
[red, green, blue, yellow]
true
[green, blue, yellow]
[]
4
red
green
blue
yellow
TreeSet集合
TreeSet ts = new TreeSet();
ts.add("C");
ts.add("A");
ts.add("B");
ts.add("E");
ts.add("F");
ts.add("D");
System.out.println(ts);
输出[A, B, C, D, E, F]
Set<Integer> set = new TreeSet<>();
set.add(300);
set.add(200);
set.add(600);
//按照元素递增的方式排好序
for (Integer m : set) {
System.out.println(m);
}
输出
200
300
600
如果TreeSet放的元素类型是自己写的类,这个类必须实现Comparable接口
import java.util.Set;
import java.util.TreeSet;
public class Test {
public static void main(String[] args) {
Set<Emp> set = new TreeSet<>();
set.add(new Emp(100, "张三", 50000));
set.add(new Emp(200, "李四", 5000));
set.add(new Emp(150, "王五", 6000));
set.add(new Emp(50, "赵六", 6000));
for (Emp emp : set) {
System.out.println(emp);
}
}
}
class Emp implements Comparable<Emp>{//泛型里面是Emp,因为是Emp对象和Emp对象比较
int id;
String name;
double salary;
public Emp(int id, String name, double salary) {
super();
this.id = id;
this.name = name;
this.salary = salary;
}
@Override
public String toString() {
return "Emp [id=" + id + ", name=" + name + ", salary=" + salary + "]";
}
@Override
public int compareTo(Emp o) {
/**
* 返回:
* 负数-小于
* 零-等于
* 正数-大于
* 一般用1、-1、0
*/
if(this.salary > o.salary) {
return 1;
}
else if (this.salary < o.salary) {
return -1;
}else {//如果2个人工资一样,用id来排序
if (this.id > o.id) {
return 1;
}
else if (this.id < o.id) {
return -1;
}
else {
return 0;
}
}
}
}
输出
Emp [id=200, name=李四, salary=5000.0]
Emp [id=50, name=赵六, salary=6000.0]
Emp [id=150, name=王五, salary=6000.0]
Emp [id=100, name=张三, salary=50000.0]
HashMap集合
Map<String, String> maps = new HashMap<String,String>();
//给map中添加元素
maps.put("邓超", "孙俪");
maps.put("李晨", "范冰冰");
maps.put("刘德华", "柳岩");
System.out.println("maps="+maps);
输出maps={邓超=孙俪, 李晨=范冰冰, 刘德华=柳岩}
TreeMap集合
Map<Emp,String> tm=new TreeMap<>(); //Map<>可能是内部的一个方法,泛型KV,V是值,K代表名片或者钥匙,只不过这个里面把一个类当做了K
tm.put(new Emp(100,"张珊",990000),"bbb");
tm.put(new Emp(120,"李思",100000),"aaa");
tm.put(new Emp(180,"韩处",200000),"aaa");
tm.put(new Emp(110,"王物",50000),"ccc");
//用这个方法打印每一个Emp类,这里这个keySet可以理解为返回一个已经经过排序的key数组。
for (Emp key:tm.keySet()) {
System.out.println(key);
}
输出
王物----110--50000.0
李思----120--100000.0
韩处----180--200000.0
张珊----100--990000.0
Hashtable集合
Hashtable<String, Integer> table = new Hashtable<String, Integer>();
//[1]添加元素
table.put("zhangsan", 22);
table.put("lisi", 33);
table.put("wangwu", 44);
//[2]toString()方式打印
System.out.println(table.toString());
//[3]Iterator遍历方式1--键值对遍历entrySet()
Iterator<Entry<String, Integer>> iter = table.entrySet().iterator();
while(iter.hasNext()){
Map.Entry<String, Integer> entry = (Map.Entry<String, Integer>)iter.next();
String key = entry.getKey();
int value = entry.getValue();
System.out.println("entrySet:"+key+" "+value);
}
System.out.println("====================================");
//[4]Iterator遍历方式2--key键的遍历
Iterator<String> iterator = table.keySet().iterator();
while(iterator.hasNext()){
String key = (String)iterator.next();
int value = table.get(key);
System.out.println("keySet:"+key+" "+value);
}
System.out.println("====================================");
//[5]通过Enumeration来遍历Hashtable
Enumeration<String> enu = table.keys();
while(enu.hasMoreElements()) {
System.out.println("Enumeration:"+table.keys()+" "+enu.nextElement());
}
输出
{zhangsan=22, lisi=33, wangwu=44}
entrySet:zhangsan 22
entrySet:lisi 33
entrySet:wangwu 44
====================================
keySet:zhangsan 22
keySet:lisi 33
keySet:wangwu 44
====================================
Enumeration:java.util.Hashtable$Enumerator@5e9f23b4 zhangsan
Enumeration:java.util.Hashtable$Enumerator@4783da3f lisi
Enumeration:java.util.Hashtable$Enumerator@378fd1ac wangwu