将数据动态加载到 HashMap 中
Load data dynamically into HashMap
我正在从 CSV 文件中读取数据并想将其存储到 hashMap 中。有 3 列,都是字符串。我正在使用此代码:
listDataHeader = new ArrayList<String>();
listDataChild = new HashMap<String,List<String>>();
InputStream inputStream = getResources().openRawResource(R.raw.photographers);
CSVReader csv = new CSVReader(inputStream);
List<String[]> data = csv.read();
List<String> info = new ArrayList<String>();
for(String[] children : data){
info.add(children[1]);
info.add(children[2]);
}
//fill data for the child
for (String[] line : data) {
listDataHeader.add(line[0]);
listDataChild.put(listDataHeader.get(0),info);
}
listdataChild 应在 CSV 中保留第 2 列和第 3 列的信息。目前,它不止一次加载该信息。我欢迎任何想法,谢谢!
您只需一次迭代即可完成此操作。
for (String[] line : data) {
List<String> info = new ArrayList<String>();
info.add(line[1]);
info.add(line[2]);
listDataChild.put(line[0], info);
}
在这里,您将遍历 csv 的行并创建一个 new 列表并将第二列和第三列添加到该列表并将该列表添加到地图。
我正在从 CSV 文件中读取数据并想将其存储到 hashMap 中。有 3 列,都是字符串。我正在使用此代码:
listDataHeader = new ArrayList<String>();
listDataChild = new HashMap<String,List<String>>();
InputStream inputStream = getResources().openRawResource(R.raw.photographers);
CSVReader csv = new CSVReader(inputStream);
List<String[]> data = csv.read();
List<String> info = new ArrayList<String>();
for(String[] children : data){
info.add(children[1]);
info.add(children[2]);
}
//fill data for the child
for (String[] line : data) {
listDataHeader.add(line[0]);
listDataChild.put(listDataHeader.get(0),info);
}
listdataChild 应在 CSV 中保留第 2 列和第 3 列的信息。目前,它不止一次加载该信息。我欢迎任何想法,谢谢!
您只需一次迭代即可完成此操作。
for (String[] line : data) {
List<String> info = new ArrayList<String>();
info.add(line[1]);
info.add(line[2]);
listDataChild.put(line[0], info);
}
在这里,您将遍历 csv 的行并创建一个 new 列表并将第二列和第三列添加到该列表并将该列表添加到地图。