순환 중에 List<Map<Integer, List<MyType>>
을 만드는 방법을 누군가가 내 문제를 해결하는 데 도움을 줄 수 있습니까? 데이터베이스에서 데이터를 선택하고 개체를 추가하고 싶습니다. select의 where 조건을 List에 입력 한 다음 Map<Integer, List<MyType>
에 넣습니다. 여기서 map 키는 데이터베이스 열 order_num의 정수입니다. 마지막으로 나는 생성 된 모든 맵을 List에 추가하고 싶다. 메서드의 반환 값은 List<Map<Integer, List<MyType>>>
입니다.Android : Create List <Map <String, List <ObjectType>>
여기 소스의 내 부분 : 키 orderNum
이고 값이 List<Item>
입니다
while (cursor.moveToNext) {
int id = cursor.getInt(cursor.getColumnIndex("item_id"));
int orderNum = cursor.getInt(cursor.getColumnIndex("order_num"));
String name = cursor.getString(cursor.getColumnIndex("item_name"));
list.add(new Item(id, orderNum, name);
}
가 지금은지도에이 목록을 추가하고 싶습니다.
int orderNum;
for (cursor.moveToFirst; !cursor.isAfterLast(); cursor.moveToNext)
{
int id = cursor.getInt(cursor.getColumnIndex("item_id"));
orderNum = cursor.getInt(cursor.getColumnIndex("order_num"));
String name = cursor.getString(cursor.getColumnIndex("item_name"));
list.add(new Item(id, orderNum, name));
}
map.put(orderNum, list);
나는 전체 블록이 너무 루프 일종의 될 것이라고 생각, 그래서 때 루프 마감 : 루프 완료 때 당신이 그것을 사용할 수 있도록
당신은 루프 내부의지도에 추가 할하지 않을까요? 그렇지 않으면 DB의 각 행 대신 하나의 데이터 세트 만 맵에 추가합니다. 아니면 내가 그 질문을 오해 했습니까? – codeMagic
질문을 이해 했으므로 루프는 데이터베이스 쿼리에서 데이터 집합 목록을 만든 다음지도에 해당 목록을 추가하려고합니다. 각 항목은 쿼리 중 하나에 해당합니다. – Ralgha
+1이 아마 맞는 것 같습니다. 나는 OP가 어떤 방식으로 그것을하고 싶어하는지 확실하지 않았기 때문에 단지 제안을했습니다. – codeMagic