所以,在大学里,我们正在处理csv文件和流。现在我正在做一些家庭作业,但我已经被困在这个练习中好几天了。我有一个csv文件,其中包含一些关于事故的数据(如事故严重程度、受害者人数等),我有一个函数可以读取该数据并将其转换为事故对象列表(csv拥有的每种数据类型都有一个属性):
private Severity severity;
private Integer victims;
public Accident(Severity severity, Integer victims) {
this.severity = severity;
this.victims = victims;
}
我已经将该列表保存在一个对象中,我可以使用getAccident()
调用列表:
private List<Accident> accidents;
public AccidentArchive(List<Accident> accidents) {
this.accidents = accidents;
public Map<Severity, Integer> getMaxVictimsPerSeverity() { //Not working correctly
return getAccidents().stream.collect(Collectors.toMap(Accident::getSeverity, Accident::getVictims, Integer::max));
现在,我必须制作一个按照标题所说的函数。我认为地图键可以是严重性(这是一个枚举值,具有轻微、严重和致命的值),并且这些值可以是具有相同严重性的每起事故的最高受害者人数。例如,地图输出可以是:SLIGHT=1, SERIOUS=3, FATAL=5
。
我尝试过使用集合、收集器和比较器库,但我找不到任何方法来划分每个严重程度值中的所有事故,获取每个严重程度值的最大受害者人数,然后将两个值保存在Map中
您正在尝试按严重性分组并计算每组中的事故数量。
Map<Severity, Long> counted = list.stream()
.collect(Collectors.groupingBy(Accident::getSeverity, Collectors.counting()));
这应该可以帮助您实现您正在寻找的目标。
以下是一个工作示例:
import java.util.*;
import java.util.stream.*;
public class Test {
public static void main(String args[]) {
Accident a1 = new Accident(Severity.SLIGHT);
Accident a2 = new Accident(Severity.SERIOUS);
Accident a3 = new Accident(Severity.SLIGHT);
Accident a4 = new Accident(Severity.FATAL);
Accident a5 = new Accident(Severity.FATAL);
List<Accident> list= new ArrayList<>();
list.add(a1);
list.add(a2);
list.add(a3);
list.add(a4);
list.add(a5);
Map<Severity, Long> counted = list.stream()
.collect(Collectors.groupingBy(Accident::getSeverity, Collectors.counting()));
System.out.println(counted);
}
static class Accident{
Severity severtity;
Accident(Severity s){
this.severtity = s;
}
public Severity getSeverity(){
return severtity;
}
}
static enum Severity{
SLIGHT, SERIOUS, FATAL;
}
}
结果:<代码>{致命=2,轻微=2,严重=1}
提供一个值抽取器以获取每次事故的受害者,并提供一个减速机以保持最大的受害者人数。
return getAccidents().stream()
.collect(Collectors.toMap(Accident::getSeverity, Accident::getVictims, Integer::max));
我正在制作Spring云流Kafka流活页夹。在我的consumerbean方法中,我希望返回KStream,并将字符串列表作为值- 是否可以使用集合作为其值的KStream?如果是,有人能解释一下如何创建它吗?
我向一个服务发出API请求,该服务在主体中返回一个JSON对象。 我似乎无法在groovy中获得名为“properties”的键的值。 每次我调用我得到以下内容 但是如果我只调用,就会得到预期的JSON对象 同样,如果I我得到这只是当我我是否得到上述响应
我有一个JSON格式。 我希望将其转换为以下格式的对象:
问题内容: 我很难相处。 基本上,我试图隐藏位于中的无序列表的溢出。 我不知道为什么这不起作用。 它没有隐藏它,而是将我的列表从水平布局拆分为垂直布局。 无序列表是轮播,容器是列表。 下面是我的CSS代码; 在这里,我的HTML; 问题答案: 好吧,如果有人遇到这个问题,这可能是您的答案: 如果要隐藏绝对定位的元素,请确保这些绝对定位的元素的容器是相对放置的。
具有值的表 在存储过程中,我想从表中选择值,然后将其转换为var二进制最大值。我选择: 但是我得到一个错误: 不允许从数据类型varchar隐式转换为var二进制(max)。使用CONVERT函数运行此查询。 请帮我解决这个问题
我有个问题。我在enter中得到了一个csv,其值如下: 该文件的名称类似于:AB01_TEST_ABDC_YYYYMMDd.csv 我需要把它们放到一张地图上,就像: Bar是csv中一行的bean,Foo是由Bar的一些元素创建的bean 现在,我成功地通过CSV的第一列值将列表拆分为一个映射。这给了: 我是这样做的: baz必须被csv的第一列和每个第一列值的行的itération拆分。因为