如何在 Java 中拆分 HashMap

时间:2022-10-13
本文介绍了如何在 Java 中拆分 HashMap的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我想知道是否可以将 HashMap 拆分为更小的子图.

I was wondering if it is possible to split a HashMap into smaller sub-maps.

在我的例子中,我有一个 100 个元素的 HashMap,我想从原始元素创建 2 个(或更多)更小的 HashMap,第一个包含 0 到 49 的条目,第二个包含 50 到 99 的条目.

In my case I have a HashMap of 100 elements and I would like to create 2 (or more) smaller HashMaps from the original one, the first containing the Entries from 0 to 49, the second containing the Entries from 50 to 99.

Map <Integer, Integer> bigMap = new HashMap <Integer, Integer>();

//should contains entries from 0 to 49 of 'bigMap'
Map <Integer, Integer> smallMap1 = new HashMap <Integer, Integer>(); 


//should contains entries from 50 to 99 of 'bigMap'
Map <Integer, Integer> smallMap2 = new HashMap <Integer, Integer>();

有什么建议吗?非常感谢!

Any suggestions? Many thanks!

推荐答案

一定要用HashMap吗?

TreeMap 非常适合这种事情.这是一个示例(注意 0、50 和 99 是映射键,不是索引):

TreeMap is really good for this kind of things. Here's an example (note that 0, 50, and 99 are map keys, not indices):

TreeMap<Integer, Integer> sorted = new TreeMap<Integer, Integer>(bigMap);

SortedMap<Integer, Integer> zeroToFortyNine = sorted.subMap(0, 50); // toKey inclusive, fromKey exclusive
SortedMap<Integer, Integer> fiftyToNinetyNine = sorted.subMap(50, true, 99, true);

这篇关于如何在 Java 中拆分 HashMap的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

上一条:HashMap 中 NULL 键的哈希码 下一条:Java HashMap 调整大小

相关文章

最新文章