簡體   English   中英

將string []拆分為ArrayList並返回值

[英]Splitting string[] to ArrayList and Returning Values

我在將字符串數組拆分為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.get(i); 訪問單個元素。

但是,上面的代碼似乎將所有項目添加到arrayImageList的第一個索引中(列表大小始終為1)。 運行一些調試測試,例如Log.d("Test", arrayImageList.get(0)); 返回以下內容:

[One,Two,Three,Four, etc...] 

如果有人能指出正確的方向,我將不勝感激。 我想我在這里混淆了兩種不同的想法。

我認為您想使用addAll()而不是add()

您還需要聲明

private List<String> arrayImageList = new ArrayList<String>();

將arrayImageList更改為字符串列表:

private ArrayList<String> arrayImageList = new ArrayList<String>();

並使用addAll方法添加它們:

arrayImageList.addAll((List<String>) Arrays.asList(stringTempList));

您要使用addAll而不是add

我不確定我是否理解了這種“錯誤的正確方法”,並且我對java不太熟悉,但是這是我的想法:

您的“ arrayImageList”對象是List的ArrayList。 當您添加stringTempList-object時,該對象將正確存儲在“ List-of-lists”的第一個可用索引處。 如果要訪問“ arrayImageList”中的各個元素(字符串),則必須這樣處理第二維(列表的列表):

arrayImageList.get(0).get(i) <-此處對java語法並不完全確定,但是您會得到圖片。

另一方面,如果您不需要額外的維度,只需使用ArrayList代替og ArrayList>。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM