我使用map接口从文件中读取,然后将值存储为键值对.文件格式如下
A 34
B 25
c 50
Run Code Online (Sandbox Code Playgroud)
我将从该文件中读取数据并将其存储为键值对,然后我将向用户显示该数据.我的要求是以这种格式显示结果
C 50
A 34
B 25
Run Code Online (Sandbox Code Playgroud)
因此,我需要按值的降序对地图进行排序.所以我将能够显示这些作为我的结果..我已经阅读了这个并找到下面的代码
static <K,V extends Comparable<? super V>> SortedSet<Map.Entry<K,V>> entriesSortedByValues(Map<K,V> map) {
SortedSet<Map.Entry<K,V>> sortedEntries = new TreeSet<Map.Entry<K,V>>(
new Comparator<Map.Entry<K,V>>() {
@Override public int compare(Map.Entry<K,V> e1, Map.Entry<K,V> e2) {
int res = e1.getValue().compareTo(e2.getValue());
return res != 0 ? res : 1; // Special fix to preserve items with equal values
}
}
);
sortedEntries.addAll(map.entrySet());
return sortedEntries;
}
Run Code Online (Sandbox Code Playgroud)
我希望这会按升序排列值,我只是想知道这种方法是否正确,或者其他一些有效的方法对我有用吗?
我想将字符串数组作为参数传递给函数.请看下面的代码
String[] stringArray = {'a', 'b', 'c', 'd', 'e'};
functionFoo(stringArray);
Run Code Online (Sandbox Code Playgroud)
代替:
functionFoo('a', 'b', 'c', 'd', 'e');
Run Code Online (Sandbox Code Playgroud)
但如果我这样做,我收到一个错误,说明转换String[]成String.我想知道是否可以传递这样的值或者正确的方法.
这是awk中的一个基本问题.但我面临着这个问题,我不知道为什么.问题是当我在一行中运行awk命令时
awk 'BEGIN {} {print $0;}' FILE
Run Code Online (Sandbox Code Playgroud)
然后代码正在运行
但是,如果我在代码之间拆分代码,比如
awk '
BEGIN
{
}
{
print $0;
}' FILE
Run Code Online (Sandbox Code Playgroud)
它给出了一个错误,指出BEGIN应该有一个动作部分.我想知道因为它是我格式化的相同代码,为什么我收到此错误.对我来说解决这个问题非常重要,因为我会在awk中编写大量代码,因此我很难格式化并且每次都将它整合到一行中.你能帮我解决这个问题.谢谢.注意.我在shell环境中运行这个awk
我正在使用awk脚本,同样的骨架很简单
awk '
BEGIN {
Variable declaration
}
{
ACTION PART
}
END
{
}' FILE A
Run Code Online (Sandbox Code Playgroud)
文件A是如此庞大的文件.所以我不想遍历整个文件,所以我想要做的是,我试图在ACTION PART中保留一些检查,如果检查成功,那么我需要跳过阅读其余部分该文件并直接转到END部分.
我的问题是如何根据条件将脚本从ACTION PART重定向到END Part ..我正在寻找某种类似命令,如for循环中的"break".你能和人分享你的想法吗?谢谢.
我打算使用表guava进行3D哈希映射实现.我下载了,我可以导入文件.我的要求如下
我手中有下面的文件,我只需要相应地聚合文件,这将在下一步中显示.
A100|B100|3
A100|C100|2
A100|B100|5
Run Code Online (Sandbox Code Playgroud)
聚合部分将在下面
A100|B100|8
A100|C100|2
Run Code Online (Sandbox Code Playgroud)
我尝试使用下面的内容
Table<String,String,Integer> twoDimensionalFileMap= new HashBasedTable<String,String,Integer>();
Run Code Online (Sandbox Code Playgroud)
但这让我错了,我只想知道两件事
HashBasedTable<String,String,Integer>()map.put(key,value).在类似的意义上,你们可以告诉我如何插入这个表的值?我已经使用表guava进行哈希的3D实现,我只是想知道如何迭代它并获取值.我现在在表格中有以下内容..我只需要遍历它并打印行,列,值的值
A1000|B100|8
A104|B10|6
Run Code Online (Sandbox Code Playgroud) 我打算使用guava表以表格格式存储我的值.我想知道一些函数,它根据表中的值执行降序排序...你能否就此发表一些观点.谢谢.