Java 使用param映射来自SQL查询的结果

Java 使用param映射来自SQL查询的结果,java,Java,我想在Java代码中实现这个ruby逻辑: .take(10).map(&:serial_number) 我有一个SQL查询的结果,它是一个带有对象的列表:List: 如何获取前10个列表元素并通过字段serial\u number将它们分组?您可以在该列表的stream()中使用map()方法并最终收集它。对于限制,有一个limit()方法。例如: public class Example { static class Person { private Str

我想在Java代码中实现这个ruby逻辑:

.take(10).map(&:serial_number)
我有一个SQL查询的结果,它是一个带有对象的列表:
List

如何获取前10个列表元素并通过字段
serial\u number
将它们分组?

您可以在该列表的
stream()
中使用
map()
方法并最终收集它。对于限制,有一个
limit()
方法。例如:

public class Example {
    static class Person {
        private String name;

        public Person(String name) {
            this.name = name;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }
    }

    public static void main(String[] args) {
        Person p1 = new Person("John");
        Person p2 = new Person("Mike");
        Person p3 = new Person("Peter");
        List<Person> persons = Arrays.asList(p1, p2, p3);

        List<String> namesOfPersons = persons.stream().map(Person::getName).limit(2).collect(Collectors.toList());
        namesOfPersons.forEach(System.out::println);
    }
}

这能满足你的期望吗

    Map<String, List<Connections>> map =
            connectionsList.stream()
            .limit(10)
            .collect(Collectors.groupingBy(Connections::getSerialNumber));
地图=
connectionsList.stream()
.限额(10)
.collect(收集器.groupingBy(Connections::getSerialNumber));
它获取列表的前10个元素并创建一个映射


每个键都是不同的序列号,每个值都是具有该序列号的连接列表。假设
列表
对象的名称是
连接
,并且
序列号
的getter函数是
getSerialNumber
,则可以执行以下操作:

Map<String, List<Connections>> groupedConnections = connections.stream().limit(10).collect(Collectors.groupingBy(Connections::getSerialNumber));
Map groupedConnections=connections.stream().limit(10).collect(Collectors.groupingBy(connections::getSerialNumber));

这将产生一个
映射
(如果我没有记错的话,它类似于Ruby中的
散列
),其中包含作为键的
序列号
,该序列号被分组为每个对应的
序列号
连接列表
,作为值。只有前10个元素将从
connections
列表中选择。

为什么不在SQL中通过GROUP BY进行分组?在按
序列号
分组后,能否显示
connections
类的字段中这10个元素的预期输出?有什么好办法吗?类是连接还是连接?@Bentaye类是
连接
并且是all@EpicPandaForce它已经被添加到SQL查询中,但是我想把它也添加到Java代码中。
Map<String, List<Connections>> groupedConnections = connections.stream().limit(10).collect(Collectors.groupingBy(Connections::getSerialNumber));