当前位置: 首页 > 知识库问答 >
问题:

我应该在什么时候对Java中的映射元素进行排序?[关闭]

何和惬
2023-03-14
User Role | Permission Uuid    
----------|----------------                     
0         | a465433f... 
0         | 43db5a33...
1         | 610e9040... 
0         | 94e85bef... 
1         | 34e85f32...

public class PermissionRequest {
    private UserRole userRole;
    private List<UUID> permissionUuidList;
}
Map<Integer, List<UUID>> userRolePermissionMap = new HashMap<>();
userRolePermissionMap.put(Integer.parseInt(cellList.get(USER_ROLE)),
    Collections.singletonList(UUID.fromString(cellList.get(PERMISSON_UUID))));

共有1个答案

何安宜
2023-03-14
Map<Integer, List<UUID>> userRolePermissionMap =
        rowsList.stream() // Stream<Row> 
                .collect(Collectors.groupingBy(
                    cellList -> Integer.parseInt(cellList.get(USER_ROLE)),
                    TreeMap::new, // supplier of sorted map
                    Collectors.mapping(
                        cellList -> UUID.fromString(cellList.get(PERMISSON_UUID)),
                        Collectors.toList())
                ));
Map<Integer, List<UUID>> userRolePermissionMap = new TreeMap<>();

for (List<Cell> cellList : rowList) {
    userRolePermissionMap.computeIfAbsent(
        Integer.parseInt(cellList.get(USER_ROLE)),
        k -> new ArrayList<UUID>()
    )  // mutable List<UUID> is returned
    .add(UUID.fromString(cellList.get(PERMISSON_UUID)));
}
 类似资料:
  • 我有一个映射,其中FullName是一个对象,包含另一个类名为FirstName和LastName的对象。名字和姓氏是字符串。(是的,我知道这是一个糟糕的设计,但我正在努力学习排序) 密钥字符串只是id,比如1,2,3,。。。 我想根据全名(名字和姓氏)进行排序,然后返回一个id列表。 这是我到目前为止的代码,但我在传递比较器的排序部分遇到语法错误。而且我很确定我在做一些语义上不正确的事情。

  • 问题内容: 我在ORM上还很新。我刚刚开始阅读有关使用Hibernate的Java Persistence API的书籍和文档。 我只是想知道,关闭EntityManagerFactory与jdbc数据库连接关闭类似吗? 我们是否应该在每次持久/更新/删除后关闭它?如果我们不关闭它,数据库连接会保持打开状态吗? 问题答案: 我只是想知道,关闭与jdbc数据库连接关闭类似吗? 这并非完全正确,但关闭

  • 我想知道什么时候可以有效地使用。我不确定到底有多有用,有三个原因。 (请将start和end视为整数。) > 如果我想要一个数组,,下面的代码要快得多。 我不认为仅仅获取从到的数字是有用的。我可以将

  • 我在自定义视图的不同方法中多次使用同一个光标。我应该在每次使用后关闭光标还是可以一直打开直到视图被破坏?对于数据库也是一样,一旦创建了包含此视图的活动,就可以打开它吗?当活动被销毁时,它可以关闭吗?我不断收到一个错误“close()从未在数据库上显式调用过…”当我按照上述方法操作时。

  • 问题内容: 我已经查看了它的功能,但是实际上没有人举一个例子说明何时在Java中使用关键字吗?有人真的为此找到了用处吗? 仅将其放在我所有的浮点运算上会有副作用吗? 问题答案: Strictfp确保你从每个平台上的浮点计算中获得完全相同的结果。如果你不使用strictfp,则JVM实现可以自由使用额外的精度(如果可用)。 从JLS: 在FP-strict表达式中,所有中间值都必须是浮点值集或dou

  • 问题内容: 如何将元素列表排序为排序列表。 我使用了许多jComboBox组件,但无法正常工作。如何将此列表按升序排序? 问题答案: 你可以看看。 此模型扩展了DefaultComboBoxModel,并内置了两个附加功能: 创建模型后,将对提供的数据进行排序 在向模型添加新项目时将数据添加到模型,这些项目将被插入以维持排序顺序 默认排序顺序将是添加到模型中的项目的自然排序顺序。但是,您可以通过指