标签:常用 Java strMap score Student put new id
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 +
'}';
}
}
标签:常用,Java,strMap,score,Student,put,new,id 来源: https://www.cnblogs.com/ffopen/p/15966803.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。