Articles of arraylist

Android Parcelable – 当IA是接口时,写入和读取ArrayList

我有一个接口IA和类B和C来实现它们。 B和C都实现了Parcelable 。 然后我有一个棘手的部分: D类有一个ArrayList 。 我也需要在arraylist同时插入B和C类。 它们具有相同的结构,但“IS-A”关系不适用。 我需要将D从一个活动传递到另一个活动作为包裹。 我试过在(ArrayList) in.readSerializable编写(ArrayList) in.readSerializable但是我得到了一个IOException 。 我知道如果IA不是一个界面问题很容易,但我似乎无法find一个简单的解决方案。 有任何想法吗? @SuppressWarnings(“unchecked”) public D (Parcel in) { list = new ArrayList(); (…) list = (ArrayList) in.readSerializable } @SuppressWarnings(“rawtypes”) public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { public D createFromParcel(Parcel in) { return new D(in); } public D[] newArray(int size) { […]

如何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); } }

具有ArrayList的Android类Parcelable

我有一个Android项目,我有一个类。 在该类中是ArrayList 。 我将获得一些XML,解析它,然后从中创建对象,我将传递给另一个活动。 我正在为此选择Parcelable。 Parcelable是一个不错的选择吗? 我做的一切都正确吗? 我对Parcelable真的不熟悉。 我的ArrayList是我在这个类中创建的另一个类。 它是否正确地将对象的ArrayList传递给Parcel,而不是扩展Parcelable和东西? import java.util.ArrayList; import android.os.Parcel; import android.os.Parcelable; import android.support.v4.os.ParcelableCompat; public class Question implements Parcelable{ String id; String text; String image; ArrayList CHOICES; public Question(String id, String text, String image) { super(); this.id = id; this.text = text; this.image = image; } public String getId() { return […]

在活动之间传递对象的arraylist

我试图在两个活动之间传递一个对象的arraylist,但我的应用程序在第二个活动中粉碎。 有人可以帮我解决这个问题…… 这是我第一次活动的代码: Intent i = new Intent(); Bundle b = new Bundle(); b.putParcelableArrayList(“songs”,(ArrayList) albumsArray.get(position).getSongs()); Log.v(“–“, “OK”); i.putExtras(b); i.setClass(LatestAlbums.this, AlbumDetails.class); startActivity(i); 和第二个活动的代码: songs=new ArrayList(); Bundle b = this.getIntent().getExtras(); if(b!=null) songs = b.getParcelable(“songs”); Log.v(“–“, songs.size()+””); 我的logcat输出: 04-03 16:37:03.513: E/AndroidRuntime(6576): FATAL EXCEPTION: main 04-03 16:37:03.513: E/AndroidRuntime(6576): java.lang.RuntimeException: Parcel: unable to marshal value com.musicapp.objects.Songs@419489e8 04-03 16:37:03.513: E/AndroidRuntime(6576): at […]

从Android中的数组列表中检索元素?

我正在尝试在Android中实现语音识别代码。 如何从Android中的数组列表中获取特定位置的元素? 我尝试将arraylist转换为array并重新进行。 代码仍无效。 package com.espeaker; public class EspeakerActivity extends Activity { private static final int REQUEST_CODE = 1234; private ListView wordsList; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button speakButton = (Button) findViewById(R.id.speakButton); wordsList = (ListView) findViewById(R.id.list); // Disable button if no recognition service […]

使用For循环从ArrayList中删除数据

我遇到了一个奇怪的问题。 我认为这会花费我几分钟,但我现在正在努力几个小时……这就是我得到的: for (int i = 0; i < size; i++){ if (data.get(i).getCaption().contains("_Hardi")){ data.remove(i); } } data是ArrayList. 在ArrayList中,我得到了一些字符串(总共14个左右),其中9个字符串中有_Hardi。 使用上面的代码我想删除它们。 如果我replace data.remove(i); 使用System.out.println然后打印9次,好的,因为_Hardi在ArrayList中9次。 但是当我使用data.remove(i); 然后它不会删除所有9,但只有少数。 我做了一些测试,我也看到了这个: 当我将字符串重命名为:Hardi1 Hardi2 Hardi3 Hardi4 Hardi5 Hardi5 Hardi6 然后它只删除偶数(1,3,5等)。 他一直在跳过1,但无法弄清楚原因。 如何解决这个问题? 或者可能是另一种方法来删除它们?

ArrayList.clear()方法是否释放内存?

如果我没弄错的话,ArrayList包含存储位置的值,在这些位置中存储了你添加到List中的variables。 因此,我的假设是,当您调用ArrayList.clear()方法时,它只释放上述值(内存位置),但不会释放这些内存位置本身。 我将尝试用一个例子来说明这一点: 假设您已拥有内存的当前状态: [Memory location] (type of variable) *value* [1000] (int) 32 [1002] (int) 12 [1003] (float) 2.5 然后将它们添加到列表myList中,因此它包含指向1000,1002,1003内存位置的指针。 当您调用myList.clear()时,指针将无效,但内存位置1000,1002,1003仍将包含先前给定的值。 我错了吗?

获取jsonarray下每个元素的KEYS数组

我想动态地解析我的Json数组。 并希望获得jsonarray下每个元素的KEYS数组。 我通过迭代器得到这个。 但是没有按照输出json formate获得序列。 我的JSON Formate: { “result”: “Success”, “AlertDetails”: [ { “ShipmentNumber”: “SHP34”, “Customer”: “BEST”, “DateCreated”: “2012-08-29T04:59:18Z” “CustomerName”: “BEST” }, { “ShipmentNumber”: “SHP22”, “Customer”: “BEST”, “DateCreated”: “2012-08-29T05:34:18Z” “CustomerName”: “Jelly” } ] } 这是我的代码: JSONArray array = jsonobject.getJSONArray(“AlertDetails”); JSONObject keyarray = array.getJSONObject(0); Iterator temp = keyarray.keys(); while (temp.hasNext()) { String curentkey = (String) temp.next(); […]

如何在android中的listview中组合两个数组列表和显示

我想将两个ArrayList合并为一个。 我的第一个arraylist看起来像这样: {a,s,d,f,g,h,……} 我的第二个arraylist看起来像这样: {z,x,c,v,b,…..} 然后我想把两者结合起来 {a,s,d,f,g,h,…..,z,x,c,v,b…..} 第一份清单是 ArrayList firstname1 = new ArrayList(); 第二个列表的位置为 ArrayList first = new ArrayList(); 现在我想将所有这些组合在一起,我希望它在列表视图中列出。 这个怎么做?

java.lang.NoSuchMethodError:排序arraylist android中没有接口方法排序(Ljava / util / Comparator;)exception

我正在尝试在Android应用程序中对Java中的ArrayList进行排序,但我得到了这个奇怪的exception。 码: eventsList.sort(new Comparator() { @Override public int compare(Event event, Event t1) { return event.getEventStartDate().compareTo(t1.getEventStartDate()); } }); 例外: java.lang.NoSuchMethodError: No interface method sort(Ljava/util/Comparator;)V in class Ljava/util/List; or its super classes (declaration of ‘java.util.List’ appears in /system/framework/core-libart.jar)