7

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内)。

4

1 に答える 1

1

NavigableMapを使用するとサブマップを取得できますが、'from キー' と 'to キー' を指定する必要があるため、インデックスだけでは実行できません。

標準 API を介してこれを行う他の方法は知りません。

于 2012-05-14T18:48:21.900 に答える