我必須在SQLite上使用Keyset存儲HashMap值,並在應用程序重新啓動時使用共享首選項重新使用。如何將HashMap <Integer,ArrayList <String>>存儲到SQLite?
HashMap<Integer, ArrayList<String>> hashMap;
hashMap = new HashMap<>();
//Insert Value
hashMap.put(btn.getId(), listValue);
// Read a Value
Map.Entry<Integer, ArrayList<String>> entry = (Map.Entry<Integer, ArrayList<String>>) iteratorMap.next();
for (Integer ihashId :hashMap.keySet()) {
if(btnid == ihashId)
{
Set<Map.Entry<Integer, ArrayList<String>>> setMap = hashMap.entrySet();
Iterator<Map.Entry<Integer, ArrayList<String>>> iteratorMap = setMap.iterator();
while (iteratorMap.hasNext()) {
Map.Entry<Integer, ArrayList<String>> entry = (Map.Entry<Integer, ArrayList<String>>) iteratorMap.next();
ArrayList<String> values = entry.getValue();
if (btnId == entry.getKey()) {
getSetName.setText(values.get(0));
getSetAddress.setText(values.get(1));
getSetPin.setText(values.get(2));
getSetValue.setText(values.get(3));
}
}
}
有多大是你的數組列表? – dit
這是ArrayList的一個可怕的用法。 –
@ AC-OpenSource在SQLite中,讀取散列值 hashDb = setValue.hashMapValue; setMap = setValue.hashMapValue.entrySet(); iteratorMap = setMap.iterator(); (iteratorMap.hasNext())entry =(Map.Entry>)iteratorMap.next(); values = entry.getValue(); content.put(Name,getValue.name); content.put(Address,getValue.address); content.put(Pin,getValue.pin_Detail); content.put(Value,getValue.valu); }還有共同的列values.how插入每條記錄? –