gpt4 book ai didi

java - 按值对 HashMap 进行排序,该值是具有多个变量的类的实例

转载 作者:行者123 更新时间:2023-11-30 02:34:58 29 4
gpt4 key购买 nike

这是我的第一篇文章,我才刚刚开始学习 Java,所以请耐心等待。

我有一个 HashMap,它存储一个键和一个类的实例作为相应的值(来 self 称为 Main 的类)。该对象有两个变量。我想做的是根据特定的对象变量打印输出,在本例中是按年份打印。这是我的代码:

public class Main {

private String name;
private int year;

public Main(String name, int year) {
this.name = name;
this.year = year;
}

protected static Map<Integer, Main> input = new LinkedHashMap<Integer, Main>();

input.put(1, new Main("Chris", 1980);
input.put(2, new Main("Daphne", 1981);
input.put(3, new Main("Sandra", 1976);
input.put(4, new Main("Adele", 1980);

所以现在我想做的就是按年份列出每个人。所以我的预期输出将如下所示:

1976: Sandra
1980: Chris, Adele
1981: Daphne

非常感谢

最佳答案

一种方法是使用流,例如:

Map<Integer,List<Main>> mainByYear = input.values().stream().collect(Collectors.groupingBy
(e -> e.year));

然后您可以迭代 mainByYear 映射以打印出键以及关联的列表成员。

关于java - 按值对 HashMap 进行排序,该值是具有多个变量的类的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43334377/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com