我有一组地图:
Collection<Map<String,Double>> myCol = table.values();
Run Code Online (Sandbox Code Playgroud)
我想把它变成一张地图
Map<String, Double>
Run Code Online (Sandbox Code Playgroud)
这样,对于匹配的键,值被加总.使用for循环,它很简单:
Map<String, Double> outMap = new HashMap<>();
for (Map<String, Double> map : myCol) {
outMap = mergeMaps(outMap, map);
}
Run Code Online (Sandbox Code Playgroud)
并被mergeMaps()
定义为
mergeMaps(Map<String, Double> m1, Map<String, Double> m2){
Map<String, Double> outMap = new TreeMap<>(m1);
m2.forEach((k,v) -> outMap.merge(k,v,Double::sum)); /*sum values if key exists*/
return outMap;
}
Run Code Online (Sandbox Code Playgroud)
但是,我想使用流来从集合中获取地图.我试过如下:
Map<String, Double> outMap = new HashMap<>();
myCol.stream().forEach(e-> outMap.putAll(mergeMaps(outMap,e)));
return outMap;
Run Code Online (Sandbox Code Playgroud)
这没有问题.但是,我还能改进它吗?我的意思是,我怎么能在其中使用收藏家?
我正在使用Queue<T> q1
并且我知道将q1.offer();
在队列末尾添加一个元素。但是现在,我想要做的是在队列前面添加一个元素,这是队列无法实现的。我能想到的可能方法是
现在,作为一个非程序员的人,我不确定如何编写这些方法;哪个更经济,更容易做。
我在 1) 中遇到的问题是将现有 Queue 转换为 Deque,反之亦然;并在 2) 如何使用Collections.reverseOrder();
来反转现有的队列。
我已经开始使用fish
,我明白fish
和常规bash 之间有几个主要的区别(我使用过mac终端).
我的一些别名没有用,我能解决.但是,我无法解决以下问题.基本上,我想删除所有与给定扩展名匹配的文件.
alias texclr=rm -v *.aux *.log *.out *.spl *.bbl *.synctex.gz *.blg *.lof *.lot *.tdo *.toc *.idx *.nav *.snm *.a* *.g* *.l* *.ist *.run.xml *-blx.* *.fff *.bcf
Run Code Online (Sandbox Code Playgroud)
但是,它似乎不起作用,并在第一次出现不匹配的文件时产生错误.
我的问题是:
任何指针都会有所帮助.
我不知道如何用更好的方式表达它。这是我的问题。
一个非常简单的数据框,比如——
df= {"time" "east" "north"
1 0 0
2 2 0
3 1 0
4 1 2
}
Run Code Online (Sandbox Code Playgroud)
现在,我想添加两个连续时间范围(第一行除外)之间的距离(作为另一列)。例如,time==2
距离应计算为sqrt( (2-0)*(2-0) + (0-0)*(0-0) )
。可能的结果可能是这样的
df= {"time" "east" "north" "distance"
1 0 0 0
2 2 0 2
3 1 0 1
4 1 2 2
}
Run Code Online (Sandbox Code Playgroud)
当然,我想要一种方法来获取从连续两行向东和向北的距离,并返回点之间的欧几里德距离。 1)如何获得数据框中两个连续点之间的距离?
我想对巨大数据帧的子集应用类似的操作或可配置函数(距离、连续减法等)。最后我想绘制一些片段,例如
index = length(df$time)-1
segments( df$time[index],df$time[index+1], df$distance[index], df$distance[index+1] )
Run Code Online (Sandbox Code Playgroud)
2)是否有更好的方法来绘制连续点的线段?类似这样的指针也将非常有用。