Articles of hashmap

java.lang.NullPointerException:println需要一条消息

我得到了错误:java.lang.NullPointerException:println在使用这个方法时需要一条消息: lst_info = new HashMap(); SystemDatabaseHandler db = new SystemDatabaseHandler(getApplicationContext()); lst_info = db.getLstInfo(sql_id); SystemDatabaseHandler: public HashMap getLstInfo(int id){ HashMap lst_temp; lst_temp = new HashMap(); String selectQuery = “SELECT * FROM dkr_lst_lst WHERE lst_id = ” + id; SQLiteDatabase db = this.getWritableDatabase(); Cursor cursor = db.rawQuery(selectQuery, null); if (cursor.moveToFirst()) { do { Log.d(“sql_id”, cursor.getString(0)); lst_temp.put(“sql_id”, cursor.getString(0)); […]

具有弱值的HashMap

我正在为持久存储的对象实现缓存。 这个想法是: 方法getObjectFromPersistence(long id); ///Takes about 3 seconds getObjectFromPersistence(long id); ///Takes about 3 seconds 方法getObjectFromCache(long id) //Instantly 并有一个方法: getObject(long id)与以下伪代码: synchronized(this){ CustomObject result= getObjectFromCache(id) if (result==null){ result=getObjectFromPersistence(id); addToCache(result); } return result; } 但我需要允许垃圾收集器收集CustomObject。 到目前为止,我正在使用HashMap<Long,WeakReference来实现。 问题是,随着时间的推移,HashMap会填充空WeakReferences 。 我已经检查了WeakHashMap但是键很弱(并且值仍然是强引用)所以使用WeakReferences的longs是没有意义的。 什么是解决这个问题的最佳解决方案? 是否有一些“逆WeakHashMap”或类似的东西? 谢谢

Guava:java.lang.NoClassDefFoundError – com.google.common.collect.HashBiMap

我目前面临的问题java.lang.NoClassDefFoundError:com.google.common.collect.HashBiMap使用从这里下载的番石榴图书馆: http : //code.google.com/p/guava-libraries/ 我已经添加guava-12.0.jar到我的项目作为参考库,但我仍然得到错误。 你可否就这个问题提出一些build议? 感谢您的帮助 package my.project; import android.app.Activity; import android.os.Bundle; import com.google.common.collect.BiMap; import com.google.common.collect.HashBiMap; public class MainActivity extends Activity{ private BiMap<String,String> bidiMap; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.bible_help_cal); bidiMap = HashBiMap.create(); bidiMap.put("a","100"); bidiMap.put("b","200"); } } 我收到错误消息 05-29 18:35:19.737: E/AndroidRuntime(376): FATAL EXCEPTION: main 05-29 18:35:19.737: E/AndroidRuntime(376): java.lang.NoClassDefFoundError: com.google.common.collect.HashBiMap 05-29 18:35:19.737: E/AndroidRuntime(376): […]

如何获取存储在ArrayList中的值<HashMap <key,value >>?

我有ArrayList>。 在另一个活动中,我想访问存储在ArrayList>中的所有值。 我曾尝试以下代码: ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>(); for(Hashmap<String, String> map: mylist) { for(Entry<String, String> mapEntry: map) { String key = mapEntry.getKey(); String value = mapEntry.getValue(); } } 但是它在for(Entry<String, String> mapEntry: map)上显示错误,它只在Array上进行交互。

如何迭代Arraylist <HashMap <String,String >>?

我有一个像这样的ArrayList对象: ArrayList<HashMap<String, String>> data = new ArrayList<HashMap<String, String>>(); 如何遍历列表? 我想显示在来自ArrayList对象的数据的TextView中的值。

获取ArrayList <HashMap <String,String >>值

在我的第一个活动中,我有下一个代码: ArrayList<HashMap<String, String>> list_params = new ArrayList<HashMap<String, String>>(); HashMap<String, String> param_aux = new HashMap<String, String>(); param_aux.put("language", Integer.toString(language_spinner.getSelectedItemPosition())); param_aux.put("city", city_edittext.getText().toString()); list_params.add(param_aux); 而在我的第二个活动中,我想获取值,所以我的代码是: ArrayList<HashMap<String, String>> list_params_ = new ArrayList<HashMap<String, String>>(); list_params_= (ArrayList<HashMap<String, String>>) getIntent().getSerializableExtra("list_params"); System.out.println("…serialized data.."+list_params_); 如果我chech的System.out,价值正确的发送,但我想获得一个特定的值HashMap(例如:城市值)。 …serialized data..[{weekend_midday_check=1, weekend_afternoon_check=0, weekend_morning_check=1, sort_by=0, language=0, weekly_afternoon_check=1, weekly_morning_check=1, weekly_midday_check=1, city=Terrassa}] 我怎样才能得到在第一个活动发送的城市的价值?

如何validationHashMap中的值是否存在

我有以下HashMap其中key是一个String和value由ArrayList表示: HashMap<String, ArrayList<String>> productsMap = AsyncUpload.getFoodMap(); 我还有另一个ArrayList<String> foods在我的应用程序中实现。 我的问题是,什么是最好的方法来找出我的HashMap包含我的第二个ArrayList的特定String ? 我试过没有成功: Iterator<String> keySetIterator = productsMap.keySet().iterator(); Iterator<ArrayList<String>> valueSetIterator = productsMap.values().iterator(); while(keySetIterator.hasNext() && valueSetIterator.hasNext()){ String key = keySetIterator.next(); if(mArrayList.contains(key)){ System.out.println("Yes! its a " + key); } }

通过位置或索引从Android中的HashMap获取密钥

我有: public static HashMap<String, String> CHILD_NAME_DOB = new HashMap<>(); 假设CHILD_NAME_DOB中的值是: <adam,15121990> <roy,01051995> <neha,05091992> <alisha,11051992> 我正试图从CHILD_NAME_DOB获取最后一个关键元素。 也就是说,我想从上面的例子中获取关键的alisha到临时的String name 。 另外我想知道如何通过索引获取数据。 例如:如果int index = 2 ,我想在String name键入"Neha" TIA。 编辑:DateOfBirth值(CHILD_NAME_DOB中的值数据)是dynamic的,并且是未知的。 所以这个链接是不是我想要的。

在ORMLite中保存HashMap

我在我的Android应用程序中使用ORMLite。 我需要坚持这个类,它有一个HashMap。 坚持它的好方法是什么? 这是我第一次尝试坚持一个HashMap,也是第一次与ORMLite所以任何build议将不胜感激! * 编辑 *如果这有什么不同,那么Exercise类就是一个String(它也可以作为数据库中的id),Set类有一个int id(也是数据库中的id),int weight和int reps。 @DatabaseTable public class Workout { @DatabaseField(generatedId = true) int id; @DatabaseField(canBeNull = false) Date created; /* * The hashmap needs to be persisted somehow */ HashMap<Exercise, ArrayList<Set>> workoutMap; public Workout() { } public Workout(HashMap<Exercise, ArrayList<Set>> workoutMap, Date created){ this.workoutMap = workoutMap; this.created = created; } […]

使用HashMap来映射一个String和int

我有一个ListView显示国家的名字。 我已经将strings.xml中的名称存储为名为country_names的string数组。 在填充ListView时,我使用从strings.xml读取的ArrayAdapter: String[] countryNames = getResources().getStringArray(R.array.country_names); ArrayAdapter<String> countryAdapter = new ArrayAdapter<String>(this, R.layout.checked_list, countryNames); myList.setAdapter(countryAdapter); 现在我也有每个国家的国家代码。 当在ListView上点击特定的国家名称时,我需要Toast相应的CountryCode。 我明白实施一个HashMap是最好的技术。 据我所知,HashMap是使用put()函数填充的。 myMap.put("Country",28); 现在我的问题是: 是否有可能读取string.xml数组并使用它来填充Map? 我的意思是,我想添加项目到地图,但我必须能够通过从另一个数组中读取项目。 我怎样才能做到这一点? 我所要求的基本原因是因为我想把国家名称和代码放在一个容易添加/删除/修改的地方。 string数组存储在strings.xml中。 哪里必须存储类似的整数数组? 在值文件夹中,但在任何特定的XML文件?