android从字符串创建数组并添加到数组列表

时间:2013-12-30 10:47:56

标签: java android

您好我正在尝试创建一个联系人列表我有一系列联系人,我正在遍历每个联系人并获取姓氏的第一个字符。然后我尝试创建一个具有该字符值的数组,并将其添加到我的最终数组中。然后我想检查数组是否已存在于我的最终数组中。如果它没有将它添加到数组中。

目的是让我最终得到一个数组列表,这些数组将成为列表视图中的标题。有谁知道如何创建一个空数组并将其命名为字符串的值(我稍后会在这个数组中添加东西)?然后将其添加到数组列表?

这是我到目前为止所尝试的内容,但我正在努力解决这个问题

for (int i=0; i<contactsJSONArray.length(); i++) {
  singleContactDict = contactsJSONArray.getJSONObject(i);
  Log.v("Main", "Contact singleContactDict " + i +"= " + singleContactDict);
  String firstname = singleContactDict.getString("first_name");
  String lastname = singleContactDict.getString("last_name");

  char firstLetterInLastname = lastname.charAt(0);
  Log.v("Main", "firstLetterInLastname = " + firstLetterInLastname);
  headerWithLetterArray.add((firstLetterInLastname).toArray);
}

2 个答案:

答案 0 :(得分:0)

数组类似于[a,b,c,d],它们没有名称。如果你的意思是JSONArray而你想存储的一切都是JSONObcject试试:

parentJson.put(lastname.substring(0,1), new JSONArray());

答案 1 :(得分:0)

您可以尝试使用“地图”作为最终集合。你的姓氏的第一个字符可以是地图中的一个键,真实姓名将成为值(内部的值可以是一个arraylist)。

如果要将新联系人添加到列表,可以先在地图中查找带有第一个字母的键。如果是,那么获取arraylist的值并添加新的联系人。

通过这种方式,您将有许多由地图中的单个字母标记的arraylist,可以在循环中使用以填充列表。

相关问题