1. TreeSet
import com.shujia.day10_Treeset_Map_Collections.other.Data;
import java.util.Comparator;
import java.util.TreeMap;
import java.util.TreeSet;
public class DemoTreeSet {
public static void main(String[] args) {
TreeSet<Integer> integers = new TreeSet<>();
integers.add(2);
integers.add(1);
integers.add(3);
integers.add(7);
integers.add(5);
System.out.println(integers);
TreeSet<String> stringTreeSet = new TreeSet<>();
stringTreeSet.add("1");
stringTreeSet.add("3");
stringTreeSet.add("10");
stringTreeSet.add("4");
stringTreeSet.add("5");
System.out.println(stringTreeSet);
Comparator<? super String> comparator = stringTreeSet.comparator();
System.out.println(stringTreeSet.first());
System.out.println(stringTreeSet.last());
System.out.println(stringTreeSet.subSet("10", "4"));
TreeSet<Student> treeSet = new TreeSet<>();
treeSet.add(new Student("001","张三",18));
treeSet.add(new Student("002","李四",19));
treeSet.add(new Student("003","王五",20));
treeSet.add(new Student("13","邱六",20));
treeSet.add(new Student("012","李白",20));
treeSet.add(new Student("4","杜甫",20));
System.out.println(treeSet);
TreeSet<Data> datas = new TreeSet<>(new Comparator<Data>() {
@Override
public int compare(Data o1, Data o2) {
return o1.getValue().compareTo(o2.getValue());
}
});
datas.add(new Data("1"));
datas.add(new Data("11"));
}
}
class Student implements Comparable<Student> {
String id;
String name;
int age;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Student(String id, String name, int age) {
this.id = id;
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Student{" +
"id='" + id + '\'' +
", name='" + name + '\'' +
", age=" + age +
'}';
}
@Override
public int compareTo(Student o) {
return this.getId().compareTo(o.getId());
}
}
2. Map接口
import java.util.ArrayList;
import java.util.HashMap;
import java.util.TreeSet;
public class DemoMap {
public static void main(String[] args) {
TreeSet<MyHashMap.KV<Integer,String>> treeSet = new TreeSet<>();
treeSet.add(new MyHashMap.KV(1,"one"));
treeSet.add(new MyHashMap.KV(2,"two"));
treeSet.add(new MyHashMap.KV(2,"2"));
System.out.println(treeSet);
HashMap<Integer, String> hashMap = new HashMap<>();
hashMap.put(1,"one");
hashMap.put(2,"two");
hashMap.put(2,"2");
System.out.println(hashMap);
String removeKeyValue = hashMap.remove(1);
System.out.println("remove:"+removeKeyValue);
System.out.println(hashMap);
hashMap.clear();
hashMap.put(1,"1");
hashMap.put(2,"2");
hashMap.put(3,"3");
hashMap.put(4,"4");
hashMap.put(5,"5");
String remove = hashMap.remove(6);
System.out.println(remove);
HashMap<Integer, Stu> stuHashMap = new HashMap<>();
stuHashMap.put(1,new Stu("张三",120,130,140));
stuHashMap.put(2,new Stu("赵六",120.1,130.1,140.1));
stuHashMap.put(3,new Stu("王五",60,70,80));
Stu stu = stuHashMap.remove(2);
System.out.println(stu.getTotalScore());
Integer removeKey = 4;
if(stuHashMap.containsKey(removeKey)){
Stu stu4 = stuHashMap.remove(removeKey);
System.out.println(stu4.getTotalScore());
}
}
}
class MyHashMap{
static class KV<K extends Comparable,V> implements Comparable<KV>{
K k;
V v;
public KV(K k, V v) {
this.k = k;
this.v = v;
}
@Override
public int compareTo(KV other) {
return this.k.compareTo(other.k);
}
@Override
public String toString() {
return "KV{" +
"k=" + k.toString() +
", v=" + v.toString() +
'}';
}
}
}
3.Map方法
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class DemoMap2 {
public static void main(String[] args) {
HashMap<Integer, String> integerStringHashMap = new HashMap<>();
integerStringHashMap.put(1,"1");
integerStringHashMap.put(2,"2");
integerStringHashMap.put(3,"3");
System.out.println(integerStringHashMap.containsValue("3"));
HashMap<Integer, Stu> stuHashMap = new HashMap<>();
stuHashMap.put(1,new Stu("张三",120,130,140));
stuHashMap.put(2,new Stu("赵六",120.1,130.1,140.1));
stuHashMap.put(3,new Stu("王五",60,70,80));
System.out.println(stuHashMap.containsValue(new Stu("王五", 60, 70, 80)));
System.out.println(stuHashMap.isEmpty());
System.out.println(stuHashMap.size());
Stu stu = stuHashMap.get(2);
System.out.println(stu);
System.out.println(stu.getTotalScore());
Set<Integer> integers = stuHashMap.keySet();
System.out.println(integers);
for (Integer integer : integers) {
System.out.println(integer);
}
for (Integer key : stuHashMap.keySet()) {
Stu value = stuHashMap.get(key);
System.out.println("key:"+key+"\t"+"value:"+value);
}
for (Stu value : stuHashMap.values()) {
System.out.println(value);
}
Set<Map.Entry<Integer, Stu>> entries = stuHashMap.entrySet();
for (Map.Entry<Integer, Stu> entry : entries) {
Integer key = entry.getKey();
Stu value = entry.getValue();
System.out.println("key:"+key+"\t"+"value:"+value);
}
}
}
4. TreeMap
import java.util.TreeMap;
public class DemoTreeMap {
public static void main(String[] args) {
TreeMap<Integer,String> treeMap = new TreeMap<>();
treeMap.put(1,"one");
treeMap.put(3,"three");
treeMap.put(2,"two");
System.out.println(treeMap);
System.out.println(treeMap.get(1));
for (Integer key : treeMap.descendingKeySet()) {
System.out.println("key:"+key+"\tvalue:"+treeMap.get(key));
}
System.out.println(treeMap.lastEntry());
System.out.println(treeMap.firstEntry());
treeMap.put(2,"2");
System.out.println(treeMap);
String oldValue = treeMap.replace(2, "22");
System.out.println(treeMap+"\t"+oldValue);
boolean replace = treeMap.replace(2, "2", "222");
System.out.println(replace);
System.out.println(treeMap);
System.out.println("==================");
TreeMap<TreeKey, String> stringTreeMap = new TreeMap<>();
stringTreeMap.put(new TreeKey("1"),"1");
stringTreeMap.put(new TreeKey("2"),"2");
stringTreeMap.put(new TreeKey("3"),"3");
System.out.println(stringTreeMap);
}
}
class TreeKey implements Comparable<TreeKey>{
String data;
public TreeKey(String data) {
this.data = data;
}
@Override
public int compareTo(TreeKey o) {
return this.data.compareTo(o.data);
}
@Override
public String toString() {
return "TreeKey{" +
"data='" + data + '\'' +
'}';
}
}
5. Collections工具类
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
public class DemoCollections {
public static void main(String[] args) {
ArrayList<Integer> integerArrayList = new ArrayList<>();
integerArrayList.add(3);
integerArrayList.add(1);
integerArrayList.add(2);
integerArrayList.add(4);
Collections.sort(integerArrayList);
System.out.println(integerArrayList);
ArrayList<StudentObj> allStu = new ArrayList<>();
allStu.add(new StudentObj("001","张三"));
allStu.add(new StudentObj("003","李四"));
allStu.add(new StudentObj("002","王五"));
System.out.println(allStu);
Collections.sort(allStu, new Comparator<StudentObj>() {
@Override
public int compare(StudentObj o1, StudentObj o2) {
return o1.id.compareTo(o2.id);
}
});
StudentObj maxObj = Collections.max(allStu, new Comparator<StudentObj>() {
@Override
public int compare(StudentObj o1, StudentObj o2) {
return o1.id.compareTo(o2.id);
}
});
System.out.println(maxObj);
Collections.shuffle(allStu);
System.out.println(allStu);
}
}
class StudentObj {
String id;
String name;
public StudentObj(String id, String name) {
this.id = id;
this.name = name;
}
@Override
public String toString() {
return "StudentObj{" +
"id='" + id + '\'' +
", name='" + name + '\'' +
'}';
}
}