草庐IT

分组会

全部标签

java - 如何使用 Java Stream API(groupingBy 收集器)对列表中的值进行分组?

我有Entry的列表对象。Entry是一个:classEntry{privatefinalDatedate;privatefinalStringvalue;//constructor//getters}我需要按天对这些条目进行分组。例如,2011-03-2109:00VALUE12011-03-2109:00VALUE22011-03-2214:00VALUE32011-03-2216:00VALUE42011-03-2116:00VALUE5应该分组:2011-03-21VALUE1VALUE2VALUE52011-03-22VALUE3VALUE4我想要一个Map>.如何使用Str

java - 在大型数据集中对相同值进行分组的有效解决方案

在我的工作中,我要为以下问题开发和实现解决方案:给定一个包含30M记录的数据集,从特定数据集字段中提取(键,值)元组,按键和值对它们进行分组,存储每个键的相同值的数量。将每个键的前5000个最常见值写入数据库。每个数据集行最多包含100个(键、值)序列化XML形式的元组。我想出了这样的解决方案(使用Spring-Batch):批处理作业步骤:第1步。遍历数据集行并提取(键、值)元组。获得一些固定数量的元组后,将它们转储到磁盘上。每个元组进入一个名称模式为“/chunk-”的文件,因此指定键的所有值都存储在一个目录中。在一个文件中,值按顺序存储。第2步。遍历所有''目录并将它们的bloc

java - 如何排序 List<File> 以首先列出目录并按目录对文件进行分组?

为了获取指定目录中包含的所有文件并根据一些扩展名,我使用了方法listFiles类FileUtils来自ApacheCommonsIO库,如以下代码示例所示。ArrayListwildcards=newArrayList();wildcards.add("*.cpp");wildcards.add("*.h");wildcards.add("*.txt");Filedir=newFile("/path/to/dir");Collectionfound=FileUtils.listFiles(dir,newWildcardFileFilter(wildcards,IOCase.SENSI

Java 8 Streams 多重分组依据

我有这样的温度记录dt|AverageTemperature|AverageTemperatureUncertainty|City|Country|Latitude|Longitude----------+-------------------+-----------------------------+-------+--------+--------+---------1963-01-01|-5.417000000000002|0.5|Karachi|Pakistan|57.05N|10.33E1963-02-01|-4.7650000000000015|0.328|Karachi

Java Streams - 有效地对排序流上的项目进行分组

我正在寻找一种方法来实现非终端分组操作,这样内存开销就会最小。例如,考虑distinct()。在一般情况下,它别无选择,只能收集所有不同的项目,然后才将它们向前传输。但是,如果我们知道输入流已经排序,则可以使用最少的内存“即时”完成操作。我知道我可以使用迭代器包装器并自己实现分组逻辑来为迭代器实现这一点。是否有更简单的方法来使用流API来实现这一点?--编辑--我找到了一种滥用Stream.flatMap(..)的方法来实现这一点:privatestaticclassDedupSeqimplementsIntFunction{privateIntegerprev;@Overridepu

java - 使用 Java 8 按两个字段对对象进行分组

我在使用Java8对两个值进行分组时遇到问题。我的主要问题是关于对两个字段进行分组,我正确地分组了一个名为getNameOfCountryOrRegion()的字段,但现在我对groupingBy感兴趣的是另一个名为的字段leagueDTO也是如此。Map>result=countryDTOList.stream().collect(Collectors.groupingBy(FullCalendarDTO::getNameOfCountryOrRegion));还有下面的类:publicclassFullCalendarDTO{privatelongid;privateTeamDTO

java - 命令行解析器和缺少子命令和分组?

我知道这个问题在我寻找答案之前已经在这里和其他地方被问过很多次了。然而,令我困惑的是为什么命令行解析器库不提供这种常见的使用场景,我有一组子命令,每个子命令都有自己的一组必需和可选参数。类似的构造可以在git/svn中找到,但在它们的情况下,如果我没记错的话,子命令命令是一个独立的程序。总而言之,我正在寻找一种简单的方法来:top_commandsubcmd_A[commandA'soptions....]top_commandsubcmd_B[commandB'soptions....]...在java的世界里,两个经常提到的库是ApacheCommandCLI和JSAP。我没有看到

Java 8 Streams - 对元组流进行分组

编辑::我正在改写问题以便更清楚这段代码是我写的List>list=newArrayList>();list.add(newImmutablePair(1,1));list.add(newImmutablePair(1,1));list.add(newImmutablePair(1,1));list.add(newImmutablePair(2,2));list.add(newImmutablePair(2,2));list.add(newImmutablePair(2,2));list.add(newImmutablePair(3,3));list.add(newImmutableP

java - 使用流对内部对象的 Map 属性进行分组?

我正在学习Java8-Java11,我得到了一个要转换为java-streams的代码.我有以下类(class):classResource{Listcapabilities;}classCapability{Stringnamespace;Mapattributes;}我有一个资源流,我想将其所有功能属性从两个不同的命名空间(“a”、“b”)提取到Map>我确定没有重复的键。我使用map、flatMap做了很多尝试,但是对于这些,我无法保留主要资源对象的引用。使用java9的新功能我可以进步,但我被困在下面的代码中,在那里我能够返回所有属性,但在一个集合中。我还不能按功能命名空间进行

Java 8 Lambda 同时分组 X 和 Y

我正在寻找一个lambda来优化已经检索到的数据。我有一个原始结果集,如果用户不更改我想使用java的lambda按结果分组的日期。我是lambda的新手。我正在寻找的lambda与此查询的工作方式类似。selectz,w,min(x),max(x),avg(x),min(y),max(y),avg(y)fromtablegroupbyx,w; 最佳答案 所以我假设您有一个对象列表,并且您想要创建一个具有给定分组的map。我对你的x、y、w、z有点困惑,所以我将使用我自己的字段。但我会这样做:interfaceEntry{Strin