相关疑难解决方法(0)

使用流生成地图时忽略重复项

Map<String, String> phoneBook=people.stream()
                                    .collect(toMap(Person::getName, Person::getAddress));
Run Code Online (Sandbox Code Playgroud)

重复发生时,我得到重复的密钥异常.

是否可以忽略在重复发生时将值添加到映射?

当存在重复时,它应该继续忽略该重复键.

java java-8 java-stream

226
推荐指数
3
解决办法
10万
查看次数

分组和映射值

我正在尝试通过(映射)进行分组,然后将值列表转换为不同的列表.

我有DistrictDocuments列表:

List<DistrictDocument> docs = new ArrayList<>();
Run Code Online (Sandbox Code Playgroud)

然后我在它上面流式传输并按城市分组:

Map<String, List<DistrictDocument>> collect = docs.stream()
                .collect(Collectors.groupingBy(DistrictDocument::getCity));
Run Code Online (Sandbox Code Playgroud)

我还有一个方法,它采用了DistrictDocument并从中创建了Slugable:

private Fizz createFizz(DistrictDocument doc) {
    return new Fizz().name(doc.getName()).fizz(doc.getFizz());
}
Run Code Online (Sandbox Code Playgroud)

有没有办法将该方法放入我的流中,所以我得到了Map<String, List<Fizz>>?我尝试将第二个参数添加到groupingBy但是找不到合适的方法并且总是遇到编译错误.

编辑:如果我的createFizz返回List<Fizz>怎么办?是否可以选择在Collectors.mapping中平展此列表,因为我仍然想要Map<String, List<Fizz>>而不是Map<String, List<List<Fizz>>>

java java-8 java-stream

13
推荐指数
2
解决办法
9392
查看次数

java 8 中的 parallelStream() 是否保证顺序?

我试图了解parallelStream()java 8 中的行为。这是我的示例代码。

List<Person> javaProgrammers = new ArrayList<Person>() {
    {
        add(new Person("Elsdon", "Jaycob", "Java programmer", "male", 43, 2000));
        add(new Person("Tamsen", "Brittany", "Java programmer", "female", 33, 1500));
        add(new Person("Floyd", "Donny", "Java programmer", "male", 33, 1800));
        add(new Person("Sindy", "Jonie", "Java programmer", "female", 32, 1600));
        add(new Person("Vere", "Hervey", "Java programmer", "male", 22, 1200));
        add(new Person("Maude", "Jaimie", "Java programmer", "female", 33, 1900));
        add(new Person("Shawn", "Randall", "Java programmer", "male", 33, 2300));
        add(new Person("Jayden", "Corrina", "Java programmer", "female", 33, 1700));
        add(new Person("Palmer", "Dene", "Java …
Run Code Online (Sandbox Code Playgroud)

java-8 java-stream

4
推荐指数
2
解决办法
1120
查看次数

标签 统计

java-8 ×3

java-stream ×3

java ×2