1

この問題について少し教えていただけませんか。

このタイプのタイトルのリストが2つあります。

 - title1______title1 
 - title1a___title2
 - title1c___title3 
 - title1b___title4
 - title2______title3
 - title4
 - title5

最初のリストには、ファイル名のリストが添付されている必要があります。この2つのリストを保存して、比較できるようにするにはどうすればよいですか?

現在、2つのリストをArrayListとして保存しており、最初のリストに適用されたremoveAllと比較しています。

最初のリストを保存して、すべてのタイトルのファイル名との接続を要求し、それを2番目のリストと比較できるようにするにはどうすればよいですか?

4

1 に答える 1

1

そのためにマップを使用できます。

Map<String, String> titles = new HashMap<String, String>();
titles.put("title1", "filename1");
titles.put("title1a", "filename1a");
...
titles.put("title5", "filename5");

基本的に、メソッドを使用してすべてのタイトルのセットを取得できますtitles.keySet()。リストを使用して一部のタイトルを削除する必要がある場合は、次のようにできます。

List<String> titlesToRemove = Arrays.toList("title1", "title2", "title3");
titles.keySet().removeAll(titlesToRemove);

keySetただし、一部のマップではサポートされていない可能性があるため、値を直接削除する場合は注意が必要です。マップ上のメソッドをtitlesToRemove使用して、からすべての値を繰り返し処理し、各値を削除する方がよい場合があります。remove

于 2013-01-03T08:09:25.463 に答える