如何通过元素索引获取LinkedHashMap的子图?

时间:2012-05-14 18:36:27

标签: java

我正在尝试根据元素索引获取LinkedHashMap的子图。我在这里重新发明轮子吗?听起来像这应该是API中的某个地方:

public <K,V> LinkedHashMap<K,V> subMap(LinkedHashMap<K,V> map, int fromIndex, int toIndex) {
    LinkedHashMap<K,V> result = new LinkedHashMap<K,V>();

    int i=0;
    for(Map.Entry<K,V> entry : map.entrySet()) {
        if(i >= fromIndex && i < toIndex) {
            result.put(entry.getKey(), entry.getValue());
        }
        i++;
    }

    return result;
}

这是方法还是其他更好/现有的解决方案(在Java 6 API中)。

1 个答案:

答案 0 :(得分:1)

NavigableMap允许你返回一个子地图,但是它要求你指定一个'from key'和'to key',所以你不能完全依赖索引。

我不知道通过标准API执行此操作的任何其他方法。