向ArrayList的ArrayList中添加JTextArea的输入



我的目标是将JTextArea中的文本添加到ArrayList的ArrayList中,这样每一行输入的文本都被保存为ArrayList,并将该行中的单词保存为该行ArrayList中的元素。我有一个想法,如何存储输入文本的每一行作为数组列表中的一个元素,但不知道如何拥有数组列表的数组列表。有人能给我指个方向吗?我想创建一个2D数组列表,我想这样做:

ArrayList[][] poem = new ArrayList[][];

这就是我想做一个数组列表包含每一行作为一个元素,但我想有每一行作为一个单独的数组列表包含各自的单词作为元素:

JTextArea txArea = new JTextArea();
String txt = txArea.getText();
String [] arrayOfLines = txt.split("n");
ArrayList<String> linesAsAL = new ArrayList<String>();
for(String line: arrayOfLines){
  linesAsAL.add(line);
}

总之,我试图使一个2D数组列表,其中每个单词输入到一个JTextArea将被添加到它自己的单元格内的2D数组列表。

你的问题不一定是JTextArea特定的,所以我的答案不会(我假设你知道如何从JTextArea获得字符串)。提示:http://docs.oracle.com/javase/7/docs/api/javax/swing/JTextArea.html) .

这是一种将String转化为ArrayList<ArrayList<String>>的方法:

public static List<List<String>> linesToLinesAndWords(String lines) {
    List<List<String>> wordlists = new ArrayList<>();
    List<String> lineList = Arrays.asList(lines.split("n"));
    for (String line : lineList) {
        wordlists.add(Arrays.asList(line.trim().split(" ")));
    }
    return wordlists;
}

看完你的代码,我也建议你学习Java

以下作品

String content = jta.getText(); //jta = Instance of JTextArea
List<List<String>> list = new ArrayList<ArrayList<String>>();
for (String line : content.split("n"))
{
String words[] = line.split("\s");
 list.add(new ArrayList<String>(Arrays.asList(words)));
}

最新更新