Ответ 1
вы можете использовать HashMap следующим образом
Map <String,String> map = new HashMap<String,String>();
//add items
map.put("3433fd","Siva");
//get items
String employeeName =(String) map.get("3433fd");
Я работал в мыльном сообщении и анализировал значение из Webservice, значения хранятся в ArrayList.
Пример: значения - это имя сотрудника (Siva) и идентификатор сотрудника (3433fd), эти два значения хранятся в arraylist, но я хочу сохранить в словаре, How?
вы можете использовать HashMap следующим образом
Map <String,String> map = new HashMap<String,String>();
//add items
map.put("3433fd","Siva");
//get items
String employeeName =(String) map.get("3433fd");
Вы можете использовать Bundle.
поскольку он предлагает String для различных типов отображения.
Bundle b = new Bundle();
b.putInt("identifier", 121);
b.putString("identifier", "Any String");
b.putStringArray("identifier", stringArray);
int i = b.getInt("identifier");
...
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
EditText textview = (EditText) findViewById(R.id.editTextHash);
EditText textviewNew = (EditText) findViewById(R.id.editTextHash2);
Map<String, String> map = new HashMap<String,String>();
map.put("iOS", "100");
map.put("Android", "101");
map.put("Java", "102");
map.put(".Net", "103");
String TextString = "";
// Set<E> keys = map.keySet();
Set keys = map.keySet();
System.out.println("keys "+keys);
for (Iterator i = keys.iterator(); i.hasNext();)
{
String key = (String) i.next();
System.out.println("key "+key);
String value = (String) map.get(key);
System.out.println("value "+value);
textview.append(key + " = " + value);
TextString+=(key + " = " + value);
}
//textviewNew.setText(TextString);
// Iterator iterator = map.keySet().iterator();
//
// while (iterator.hasNext())
// {
// String object = (String) iterator.next();
// textview.setText(object);
// }
//
// //textview.setText(map.get("Siva"));
//
// System.out.println(map);
}
}
A Dictionary - абстрактный класс, который отображает ключи к значениям, и есть класс словаря в android refer ссылка вы можете найти заметку в обзоре классов
Не используйте этот класс, поскольку он устарел. Используйте карту интерфейс для новых реализаций.
Попытка вставить либо нулевой ключ, либо нулевое значение в словарь приведет к NullPointerException, но вы можете использовать Map, он обеспечивает ту же функциональность словаря. Вы можете использовать его ниже:
//put values
Map Message = new HashMap();
Message.put("title", "Test message");
Message.put("description", "message description");
Message.put("email", "[email protected]");
//get values
Log.d("get Message","Message title -"+Message.get("title"));
вы также можете использовать пользовательский класс ниже
public class MessageObject {
String title;
String description;
String email;
}
вы можете использовать Getters и Setters для получения и размещения значений, а не для запоминания имен ключей каждый раз, когда вы можете получить некоторые другие преимущества таким образом.