当前位置: 首页 > 知识库问答 >
问题:

如何压缩两个Java列表

上官霄
2023-03-14
List<String> subjectArr = Arrays.asList<String>("aa", "bb", "cc");
List<Long> numArr = Arrays.asList<Long>(2L, 6L, 4L);
List<?> subjectNumArr = zip(subjectArr, numArr);
// subjectNumArr == [{'aa',2},{'bb',6},{'cc',4}]

共有1个答案

龙飞
2023-03-14

使用map.entry 的ArrayList,检查两个arraylists是否大小相等(这似乎是您的要求),如下所示:

List<Map.Entry<String,Long>> subjectNumArr = new ArrayList<>(numArr.size());
if (subjectArr.size() == numArr.size()) {
    for (int i = 0; i < subjectArr.size(); ++i) {
        subjectNumArr.add(new AbstractMap.SimpleEntry<String, Long>(subjectArr.get(i), numArr.get(i));
    }   
}

你需要的代码就这些!

然后,要对结果进行迭代,请使用如下代码:

for (Map.Entry<String, Long> entry : subjectNumArr) {
    String key = entry.getKey(); 
    Long value = entry.getValue();
}
Map.Entry<String, Long> entry = subjectNumArr.get(i);
 类似资料:
  • 我有一个人的HashSet。一个人有一个名字,最后一个名字和年龄,比如:人(“汉斯”,“男人”,36) 我的任务是得到一份17岁以上的人的名单,按年龄对他们进行排序,并用姓氏来表示他们的名字,如:[“Hans Man”,“另一个名字”,“另一个名字”] 我只允许导入: 我的想法是先对它们进行排序,将名称映射到不同的流中,然后对它们进行压缩,但这不起作用。 提前谢谢你

  • 问题内容: 我有两个列表,每个列表具有相等数量的项目。这两个列表如下所示: 我正在寻找一个看起来像这样的清单: 我试图使用这样的东西: 合并两个列表列表的最佳方法是什么?提前致谢。 问题答案:

  • 问题内容: 使用Google Guava(Google Commons),是否可以将两个大小相等的列表合并为一个列表,而新列表包含两个输入列表的复合对象? 例: 和 将输出: 问题答案: 从Guava 21开始,可以通过以下方式实现:

  • 问题内容: 我有一个熊猫数据框。我尝试将包含字符串值的两列首先连接到列表中,然后使用zip,我将列表的每个元素都用’_’连接。我的数据集如下: 我想将这两列连接到第三列,如下所示,分别用于数据框的每一行。 我已经使用下面的代码在python中成功完成了此操作,但该数据框非常大,并且需要花费很长时间才能为整个数据框运行它。我想在PySpark中做同样的事情以提高效率。我已经成功读取了spark数据框

  • 问题内容: 我有2个数组: 我想要得到的结果是: 看起来很简单,但我不知道。 我希望结果是一个数组,其中两个数组中的每个元素都压缩在一起。 问题答案: 使用方法:

  • 问题内容: 任何人都可以向我展示在我一直在搜索的Java中压缩和解压缩tar.gzip文件的正确方法,但是我能找到的最多是zip或gzip(单独)。 问题答案: 我最喜欢的是plexus-archiver-请参阅GitHub上的资源。 另一个选项是Apache commons- compress- (请参阅mvnrepository)。 使用plexus-utils,用于取消存档的代码如下所示: