小编Nan*_*mar的帖子

根据值按降序对Map <Key,Value>进行排序

可能重复:
如何在Java中的值上对Map <Key,Value>进行排序?

我使用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)

我希望这会按升序排列值,我只是想知道这种方法是否正确,或者其他一些有效的方法对我有用吗?

java hashmap map

30
推荐指数
2
解决办法
9万
查看次数

awk中的多行注释

我想知道如何在awk中使用多行注释.截至目前,我一直使用#来评论一行.有人可以指导我这件事.谢谢.

awk

9
推荐指数
1
解决办法
9692
查看次数

将字符串数组作为参数传递给函数java

我想将字符串数组作为参数传递给函数.请看下面的代码

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.我想知道是否可以传递这样的值或者正确的方法.

java arrays function

9
推荐指数
2
解决办法
12万
查看次数

通过分割线来运行awk

这是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

shell awk

5
推荐指数
1
解决办法
1784
查看次数

awk退出ACTION路径并直接进入END部分

我正在使用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".你能和人分享你的想法吗?谢谢.

shell awk

5
推荐指数
1
解决办法
3064
查看次数

使用表guava进行hashbasedTable

我打算使用表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)

但这让我错了,我只想知道两件事

  1. 我只想知道,要在构造函数中传递的参数 HashBasedTable<String,String,Integer>()
  2. 如何初始化此表的行,列和值,就像我们为它所做的那样map.put(key,value).在类似的意义上,你们可以告诉我如何插入这个表的值?

java hash hashmap guava

5
推荐指数
2
解决办法
2万
查看次数

遍历表番石榴

我已经使用表guava进行哈希的3D实现,我只是想知道如何迭代它并获取值.我现在在表格中有以下内容..我只需要遍历它并打印行,列,值的值

  A1000|B100|8
  A104|B10|6
Run Code Online (Sandbox Code Playgroud)

hashmap guava

3
推荐指数
1
解决办法
590
查看次数

基于值按降序对Guava表进行排序

我打算使用guava表以表格格式存储我的值.我想知道一些函数,它根据表中的值执行降序排序...你能否就此发表一些观点.谢谢.

java hashmap guava

1
推荐指数
1
解决办法
2468
查看次数

标签 统计

hashmap ×4

java ×4

awk ×3

guava ×3

shell ×2

arrays ×1

function ×1

hash ×1

map ×1