JavaのTreeSetに要素が存在するかどうかを確認する

TreeSet?ArrayListjava.util.Listget(int index) を使用して、オブジェクトとそのインデックスを取得します。List, TreeSet は、インターフェイス java.util.Set はオブジェクトのインデックス作成を許可しないため、直接アクセスできません.

ただし、2 つのコレクションは contains() を使用して、リスト(この場合はTreeSet)特定の要素が含まれています。TreeSetIterator 条件 if(o1.equals(o2)) を目的の要素に到達するまで繰り返します。ここでは、Set なので、要素が混在し、正確なインデックスがありません.

import java.util.Iterator;
import java.util.TreeSet;

public class search_element {
public static void main(String[] args) {
// TreeSet
TreeSet tset = new TreeSet();

// TreeSet
にデータを取り込む tset.add("abc");
tset.add("bcd");
tset.add("cde");
tset.add("def");
tset.add("efg");

文字列 e = "def";

// TreeSetに特定の要素が存在するかどうかをチェックします
boolean exists = tset.contains(e);
System.out.println(e+"はツリーセットに存在しますか?"+exists);

文字列 e2 = "eee";
exists = tset.contains(e2);
System.out.println(e2+"はツリーセットに存在しますか?"+exists);

イテレータ<文字列> イテレータ = tset.iterator();
// 要素を検索し、等価性をテストします equals
while (iterator.hasNext()){
String obj = iterator.next();
if(obj.equals(e))
System.out.println("オブジェクト "+e+" がリストに存在します");
}
}
}
このコードをコンパイルして実行すると、次のようになります:

def はツリーセットに存在しますか?true
eeeはtreesetに存在しますか?false
def オブジェクトがリストに存在します
References:
StackOverFlow: JavaのTreeSetにget()メソッドがないのはなぜですか?