Articles of hashmap

如何validationHashMap中是否存在值

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

如何将Hashmap存储到android,以便在使用共享首选项重新启动应用程序时重用它?

我想将hashmap存储到我的android应用程序中,当重新启动时,它会显示最后保存的hashmap值。 HashMap HtKpi=new HashMap(); 是我的hashmap,44个值动态存储在其中。 这工作正常! 现在,我想将其存储以备将来使用(应用程序重启或重用)。

是否可以在Android上创建可Parcelable的HashMap?

我试图将HashMap扩展为Parcelable,我得到了编译的语法,但是,在运行时它会抛出exception并返回一个空指针,试图取消编组数据。 发送者必须转换为(Parcelable)来解决歧义,但是,接收者抱怨预期Parcelable但是find了HashMap。 有人有成功吗? 我的语法错了吗? 有更好的解决方案吗? 以下是代码: HomeActivity.java – 发件人 ContentViewActivity.java – 接收器 ContentItemSimple.java – 顾名思义(包装一个String和Integer) ContentItemCollection.java – 这是HashMap HomeActivity.java package com.mobibob.android.studyparceable; import java.util.HashMap; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.os.Parcel; import android.os.Parcelable; import android.text.format.Time; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class HomeActivity extends Activity implements OnClickListener { private static final String […]

HashMap到ListView

我有HashMap,我怎么能把它放在ListView中? 哪个适配器需要使用? public void showCinemas(HashMap cinemas) { …//What? list.setAdapter(adapter); }

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}] 我怎样才能得到在第一个活动发送的城市的价值?