JavaでTreeMapの2番目の要素のキーを取得する方法


方法1: イテレーションを使用する方法 TreeMapのキーと値のセットを取得し、2番目の要素を取得します。その後、その要素のキーを取得します。

import java.util.*;
public class Main {
    public static void main(String[] args) {
        TreeMap<Integer, String> treeMap = new TreeMap<>();
        treeMap.put(1, "Apple");
        treeMap.put(2, "Banana");
        treeMap.put(3, "Orange");
        Iterator<Map.Entry<Integer, String>> iterator = treeMap.entrySet().iterator();
        // 2番目の要素に移動
        Map.Entry<Integer, String> secondEntry = null;
        if (iterator.hasNext()) {
            iterator.next(); // 1番目の要素をスキップ
            if (iterator.hasNext()) {
                secondEntry = iterator.next(); // 2番目の要素を取得
            }
        }
        if (secondEntry != null) {
            int secondKey = secondEntry.getKey();
            System.out.println("2番目の要素のキー: " + secondKey);
        }
    }
}

方法2: インデックスを使用する方法 TreeMapのキーのセットを取得し、2番目の要素を取得します。その後、その要素のキーを取得します。

import java.util.*;
public class Main {
    public static void main(String[] args) {
        TreeMap<Integer, String> treeMap = new TreeMap<>();
        treeMap.put(1, "Apple");
        treeMap.put(2, "Banana");
        treeMap.put(3, "Orange");
        Set<Integer> keySet = treeMap.keySet();
        List<Integer> keyList = new ArrayList<>(keySet);
        if (keyList.size() >= 2) {
            int secondKey = keyList.get(1); // 2番目の要素のキーを取得
            System.out.println("2番目の要素のキー: " + secondKey);
        }
    }
}

方法3: Stream APIを使用する方法 TreeMapのエントリーセットをストリームとして取得し、2番目の要素を取得してからそのキーを取得します。

import java.util.*;
public class Main {
    public static void main(String[] args) {
        TreeMap<Integer, String> treeMap = new TreeMap<>();
        treeMap.put(1, "Apple");
        treeMap.put(2, "Banana");
        treeMap.put(3, "Orange");
        Optional<Integer> secondKeyOptional = treeMap.entrySet().stream()
                .skip(1) // 1番目の要素をスキップ
                .map(Map.Entry::getKey)
                .findFirst();
        if (secondKeyOptional.isPresent()) {
            int secondKey = secondKeyOptional.get();
            System.out.println("2番目の要素のキー: " + secondKey);
        }
    }
}

上記のコード例を使用することで、JavaでTreeMapの2番目の要素のキーを取得することができます。