我有一个长度为4的大型数据集,int[]
我想计算4个整数的每种特定组合出现的次数。这与计算文档中的单词频率非常相似。
我想创建一个Map<int[]
, double>
将每个int []
映射到正在运行的计数的列表,但是列表不使用原始类型。
所以我做了 Map<Integer[], Double>
我的数据存储为一个,ArrayList<int[]>
所以我的循环应该像
ArrayList<int[]> data = ... // load a dataset`
Map<Integer[], Double> frequencies = new HashMap<Integer[], Double>();
for(int[] q : data) {
// **DO SOMETHING TO convert q from int[] to Integer[] so I can put it in the map
if(frequencies.containsKey(q)) {
frequencies.put(q, tfs.get(q) + p);
} else {
frequencies.put(q, p);
}
}
我不确定在注释中需要什么代码才能完成将转换int[]为的工作Integer[]。也许我从根本上对正确的方法感到困惑。
使用Java 8,int[]
可以Integer[]
轻松转换为:
int[] data = {1,2,3,4,5,6,7,8,9,10};
// To boxed array
Integer[] what = Arrays.stream( data ).boxed().toArray( Integer[]::new );
Integer[] ever = IntStream.of( data ).boxed().toArray( Integer[]::new );
// To boxed list
List<Integer> you = Arrays.stream( data ).boxed().collect( Collectors.toList() );
List<Integer> like = IntStream.of( data ).boxed().collect( Collectors.toList() );
正如其他人所述,Integer[]通常不是一个好的地图关键字。但是就转换而言,我们现在有了一个相对干净的本机代码。
问题内容: 我是Java的新手,想知道double转换为int cast如何工作吗?我知道,只需将低32位转换为int就很容易了,但是将double(64位)转换为int(32位)呢?来自二进制的double中的那64位是Double- precision浮点格式(Mantissa),那么它如何在内部转换为int? 问题答案: 所有这些都记录在JLS的5.1.3节中。 第一步,将浮点数转换为lon
问题内容: 我一直在这里找到问题,并且Google的人们遇到了麻烦,而不是遇到了其他麻烦。但我敢肯定,我不是以前已经从去碰到这种情况的唯一一个到。 我发现的唯一其他答案是“首先将其设置为Long”,这实际上并没有解决这个问题。 我最初尝试投射,但得到了“ ” 如您所料,我有点困惑,我被困住了,因为有些内容以形式出现,而我要存储其信息的实体要求序列号为Long。 问题答案: 请注意,强制转换为和强制
问题内容: (我是Java编程的新手) 我有例如: 我需要在撇号中得到数字9本身。我尝试执行以下操作 但这没用。 那么我该怎么做才能得到撇号呢? 问题答案: ASCII表的排列方式是使字符的值比的值大九;字符的值比的值大8 ; 等等。 因此,您可以通过减去以获得十进制数字char的int值。
问题内容: 如何转换成? 当然,除了循环地逐项执行之外,我对任何其他答案都感兴趣。但是,如果没有其他答案,我将选择一个作为最佳答案,以证明此功能不是Java的一部分。 问题答案: 没有捷径可转换为因为它不会处理拳击,只会创建你不想要的。你必须制作一个实用程序方法。
问题内容: 是否有一种将Integer数组转换为int数组的理想方法?(我不想遍历每个元素;我正在寻找一种优雅且快速的方式编写它) 我正在使用的另一种方法 我正在寻找一线客轮,但找不到任何东西。 目标是: 问题答案: 您可以使用Java 8的Stream API
问题内容: 下面是一个代码片段, 但是我得到的是空输出。 我将得到1作为输出。 有人可以解释吗?如果我想像第一个代码片段一样将int转换为char,该怎么办? 问题答案: 会打印出ascii值为1的字符(首字符,这是不可打印的)。 将以ascii值49输出一个字符(一个对应于“ 1”) 如果要转换数字(0-9),则可以将数字加48并进行转换,例如;。 如果要转换 as asi的ascii值,可以使