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

Java android从字符串创建数组并添加到数组列表,java,android,Java,Android,嗨,我正在尝试创建一个联系人列表。我有一个联系人数组,我正在循环遍历每个联系人,并获取姓氏的第一个字符。然后我尝试创建一个具有该字符值的数组,并将其添加到最终数组中。然后我想检查数组是否已经存在于我的最终数组中。如果它没有将其添加到数组中 目的是,我最终得到一个数组列表,这些数组将成为列表视图中的标题。是否有人知道如何创建一个空数组并将其命名为字符串值(我稍后将向该数组添加内容)?然后将其添加到数组列表中 这是我到目前为止尝试过的,但我正在努力让我的头绕过去 for (int i=0; i<

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

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

这是我到目前为止尝试过的,但我正在努力让我的头绕过去

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

for(int i=0;i数组类似于[a,b,c,d],它们没有名称。如果您指的是JSONArray,并且希望存储的所有内容都是JSONOBJECT,请尝试:

parentJson.put(lastname.substring(0,1), new JSONArray());
您可以尝试在最终集合中使用“Map”。其中,姓氏的第一个字符可以是Map中的一个键,实名将成为value(value内部可以是arraylist)

当您想将新联系人添加到列表中时,可以首先在地图中查找带有第一个字母的键。如果是,则获取值arraylist并将新联系人添加到该列表中

通过这种方式,您将拥有许多由映射中的单个字母标记的arraylist,这些字母可以在循环中用于填充列表