ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java常用

2022-03-05 01:04:46  阅读:176  来源: 互联网

标签:常用 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. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有