import com.sun.jmx.remote.internal.ArrayQueue;
import org.junit.Test;
import java.util.*;
import java.util.function.Supplier;
import java.util.stream.Collectors;
public class KS20220107_1 {
public static void main(String[] args) {
// Stack
Deque<Integer> stack = new LinkedList<>(); // ArrayDeque
stack.push(1);
stack.peek();
stack.pop();
stack.isEmpty();
// Queue
Queue<Integer> queue = new LinkedList<>(); // ArrayDeque
queue.offer(1);
queue.add(2);
queue.poll();
queue.remove();
queue.isEmpty();
//Deque
Deque<Integer> deque = new LinkedList<>(); // ArrayDeque
deque.offerFirst(1);
deque.offerFirst(2);
System.out.println(\"deque:\" + deque.poll()); // 2
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
Collections.sort(list, (x, y) -> y - x); // 比较器
System.out.println(\"ArrayList:\" + list);
// Map
HashMap<Integer, Integer> map = new HashMap<>();
map.put(2, 1);
map.put(1, 2);
System.out.println(\"HashMap:\" + map); // hashmap key默认升序 (integer)
Map<String, Integer> strMap = new HashMap<>();
strMap.put(\"A\", 3);
strMap.put(\"B\", 5);
strMap.put(\"C\", 1);
strMap.put(\"E\", 9);
strMap.put(\"D\", 1);
System.out.println(\"HashMap key默认升序排列:\" + strMap);
strMap = strMap.entrySet().stream()
// .sorted(Map.Entry.comparingByValue())
.sorted(Collections.reverseOrder(Map.Entry.comparingByValue()))
.collect(Collectors.toMap(entry -> entry.getKey(), entry -> entry.getValue(), (k1, k2) -> k2, LinkedHashMap::new));
System.out.println(\"HashMap 按Value降序排列:\" + strMap);
LinkedHashMap<Integer, Integer> map2 = new LinkedHashMap<>();
map2.put(2, 1);
map2.put(1, 2);
System.out.println(\"LinkedHashMap:\" + map2);
LinkedHashMap<String, Student> linkedHashMap = new LinkedHashMap<>();
linkedHashMap.put(\"ab\", new Student(1, 3));
linkedHashMap.put(\"c\", new Student(2, 3));
linkedHashMap.put(\"e\", new Student(1, 2));
linkedHashMap = linkedHashMap.entrySet().stream()
.sorted((o1, o2) -> {
Student s1 = o1.getValue();
Student s2 = o2.getValue();
if (s1.score == s2.score) {
return s1.id - s2.id;
}
return s1.score - s2.score;
})
.collect(Collectors.toMap(k -> k.getKey(), k -> k.getValue(), (k1, k2) -> k2, LinkedHashMap::new));
System.out.println(\"LinkedHashMap:\" + linkedHashMap);
}
}
class Student implements Comparable {
public int id;
public int score;
public Student(int id, int score) {
this.id = id;
this.score = score;
}
@Override
public int compareTo(Student o) {
if (this.id == o.id) {
return this.score - o.score;
}
return this.id - o.id;
}
@Override
public String toString() {
return \"Student{\" +
\"id=\" + id +
\", score=\" + score +
\'}\';
}
}
来源:https://www.cnblogs.com/ffopen/p/15966803.html
本站部分图文来源于网络,如有侵权请联系删除。