ヒルズに関するデータを含むCSVファイルから読み込み中です。ファイルからデータを読み込み、列ヘッダーに6つのフィールドを関連付けることができます。現在、私の出力版画のように:Javaセットから特定の値を選択する
### County:Argyll and Bute
[48,Deinn a'Choin,Argyll and Bute,768.2,56.281081,-4.659943, 49,Feinn a'Choin,Argyll and Bute,768.5,56.281043,-4.659924, 50,Zeinn a'Choin,Argyll and Bute,768.7,56.281034,-4.659981]
### County:Stirling
[19,Beinn Each,Stirling,813.0,56.313957,-4.262199, 11,Creag Gharbh,Stirling,637.4,56.46677,-4.221506, 7,Meall Buidhe,Stirling,719.0,56.419004,-4.308645]
### County:Aberdeen
[19,Beinn Each,Aberdeen,813.0,56.313957,-4.262199, 11,Creag Gharbh,Aberdeen,637.4,56.46677,-4.221506, 7,Meall Buidhe,Aberdeen,719.0,56.419004,-4.308645]
しかし、私はのように私の出力を取得しようとしています:だから技術的に私は、実際に内部にある私のSETから3つの値を選択されて達成しようとしているものを
### County:Argyll and Bute
NameOfHill#1 Height
NameOfHill#2 Height
NameOfHill#3 Height
### County:Stirling
NameOfHill#1 Height
NameOfHill#2 Height
NameOfHill#3 Height
### County:Aberdeen
NameOfHill#1 Height
NameOfHill#2 Height
NameOfHill#3 Height
を地図を表示し、名前と高さだけを印刷します。
私のコードは、現在、次のとおりです。私はループのための別のものを使用する必要が信じている
for (int i = 0; i < 3; i++) {
System.out.println("### County:" + hillsByCounty.keySet().toArray()[i]);
System.out.println(hillsByCounty.get((hillsByCounty.keySet().toArray())[i]));
}
}
、何とかセットからの唯一の3つの値を選択して、私の最終的な印刷に「.getName」と「.getHeight」を使用声明
私はライン
Set<Hill> getHills = hillsByCounty.get((hillsByCounty.keySet().toArray())[i]);
for (int j = 0 ; j < 3 ; j++){
//write to somehow code to pull the hill in pos j in this set
System.out.println(h.getName() + " " + h.getHeight());
}
}
}
しかし、何イムないわから沿って何かのアイデアは、これらの設定値を取得する方法、である持っていました。私の以前のメソッドが以下のように始まるので、私のマップ値はセットです:
public static Map<String, Set<Hill>> hillsByCounty(List<Hill> hills) {
ヒントをありがとう、 "エントリ" Javaのキーワードまたは私のセット/マップを参照していますか? –
@godlypythonおっと!最初の行が 'entry'を正しく宣言するように変更されました。 – Andreas
私は、現在このコードはセットのすべての項目を正しいものとして表示していますか?もし私が最初のforループを残しておくと、最初の3つの要素は表示されませんが、出力は3回繰り返されます。 –