データを含む 2 つのテキスト ファイルがあります。これらのファイルを で読み取り、ファイルBufferReader
ごとに 1 列のデータをList<String>
.
List
それぞれに重複データがありますが、2 番目の重複データと対峙するには、最初に一意のデータが必要List
です。
から一意の値を取得するにはどうすればよいList
ですか?
データを含む 2 つのテキスト ファイルがあります。これらのファイルを で読み取り、ファイルBufferReader
ごとに 1 列のデータをList<String>
.
List
それぞれに重複データがありますが、2 番目の重複データと対峙するには、最初に一意のデータが必要List
です。
から一意の値を取得するにはどうすればよいList
ですか?
を に変換ArrayList
しHashSet
ます。
List<String> listWithDuplicates; // Your list containing duplicates
Set<String> setWithUniqueValues = new HashSet<>(listWithDuplicates);
後でなんらかの理由でセットをリストに戻したい場合は、そうすることができますが、ほとんどの場合、その必要はありません。
List<String> listWithUniqueValues = new ArrayList<>(setWithUniqueValues);
解決策が他の人に役立つ可能性があることに気づきました。最初に、BufferReader からの重複した値が入力されます。
ArrayList<String> first = new ArrayList<String>();
一意の値を抽出するには、down のような新しい ArrayList を作成するだけです。
ArrayList<String> otherList = new ArrayList<>();
for(String s : first) {
if(!otherList.contains(s))
otherList.add(s);
}
インターネットの多くの投稿は、Arraylist を List 、 Set 、 HashTable 、または TreeSet に割り当てるように話しています。理論の違いと、実際に使用するのに最適なものを説明できる人はいますか? お時間をいただきありがとうございます。