我在将字符串数组拆分为List / ArrayList时遇到问题。我意识到这是基本的东西,但是我看了很多例子,以至于现在我完全困惑正在发生的事情(或未发生的事情)。
一些代码片段:
private String[] stringTempList;
private ArrayList<List<String>> arrayImageList = new ArrayList<List<String>>();
我的列表是从网页上读取的,格式为纯文本,例如:['一个','两个','三个'等...]
因此,以下几行内容将我想要/不想要的内容删除(注意-我将这些内容分离出来,以帮助我按照流程进行操作):
stringExtractedList = stringText.substring(stringText.indexOf("['") + 2,
stringText.lastIndexOf("']"));
stringTempList = stringExtractedList.split("','");
从我可以看到的结果来看,上述方法可以按预期工作(创建一个数组(stringTempList),在看到
','
的地方拆分出每个项目)。哪里出错了:
arrayImageList.add((List<String>) Arrays.asList(stringTempList));
我希望这行代码可以将我的数组(stringTempList)移到ArrayList中。我希望使用类似于
arrayImageList.get(i);
的代码来访问单个元素。但是,上面的代码似乎将所有项添加到arrayImageList的第一个索引中(列表大小始终为1)。运行某些调试测试(例如
Log.d("Test", arrayImageList.get(0));
)将返回以下内容:[One,Two,Three,Four, etc...]
如果有人能指出我正确的方向,我将不胜感激。我想我在这里混淆了两种不同的想法。
最佳答案
将arrayImageList更改为字符串列表:
private ArrayList<String> arrayImageList = new ArrayList<String>();
并使用addAll方法添加它们:
arrayImageList.addAll((List<String>) Arrays.asList(stringTempList));