1
입니다. csv 파일을 구문 분석 할 때 각 열을 추가하면 목록에 추가되고 각 목록은 map
에 추가됩니다. 각지도에서 키는 목록의 첫 번째 줄입니다.목록에있는 자바 액세스는
CSVReader reader = new CSVReader(new FileReader("plik.csv"),';');
CSVReader ile = new CSVReader(new FileReader("plik.csv"),';');
int columnCount=0;
String[] header = ile.readNext(); // assuming first read
if (header != null) { // and there is a (header) line
columnCount = header.length; // get the column count
}
HashMap<String, List<String>> map = new HashMap<String, List<String>>();
List content = reader.readAll();
String[] row;
String key;
int column=0;
for(int i=0; i <columnCount-1; i++) {
List<String> lista = new ArrayList<String>();
key=null;
for (Object object : content) {
row = (String[]) object;
if (column== 0) {
key = row[i];
}
if (kolumna != 0) {
lista.add(row[i]);
map.put(key, lista);
}
kolumna++;
}
kolumna=0;
}
이 작업이 끝나면이 목록의 반복 가능성에 액세스하고 싶습니다.
나는for (String q: map.keySet()) {
System.out.println (q + "-" + map.get (q));
}
를 사용하여이 작업을 수행하고 싶어하지만 결과는 각 목록은 각 라인에 szytwno에 표시됩니다 있다는 것입니다. 나는 예를 들어 던지기를 원하는 목록의 개별 항목에 액세스 할 수 없습니다. 드롭 다운 스윙.
출력 :
Datum - [07.10.2014, 07.10.2014, 07.10.2014]
ProzessID - [1180804, 1180804, 335605]
키 : Datum
, ProzessID
이 이미 시도했다. 데이터도 같은 방식으로 표시됩니다. 항목을 나열하고 싶습니다. ','및'['로 구분하지 않았습니다. 아마 루프에서 루프를 할 필요가 있을까요? 그래서 같은 목록의 반복을 제어 할 수 있습니다. 그는 목록에있는 데이터를 JComboBox에 추가하려고합니다. 그래서 당신은'1180804' 또는'1180804' 또는'335605'를 선택할 수 있습니다. '[1180804, 1180804, 335605]'행 전체가 아닙니다. – lukassz
대괄호와 콜론은 목록의 toString() 메서드에 의해 만들어집니다. 그것들을 다르게 표시하려면 목록 자체의 각 항목에 액세스해야합니다. ComboBox에 addAll 메서드가 있다는 것을 알고 계십니까? comboBox.getItems(). addAll (entry.getValue()); – Tobi
죄송합니다. JComboBox를 사용하고 JavaFX를 사용하지 않는 것을 본 다음 목록의 요소를 반복하여 반복하십시오. – Tobi