2013-09-02 3 views
0

Проблема в том, что я пытался (и не добился успеха) захватить исходный код веб-сайта и найти какой-то текст, а затем поместить его в jLabel.Лучший способ сделать массивы из arraylists?

Часть получения кода выполняется и работает нормально, у меня действительно есть большая проблема, когда я пытаюсь получить результаты кода (используя регулярные выражения) и поместить каждый результат в другую строку (а затем , используя метод setText(), поместите их в другую jLabel).

Я спросил на многих форумах, и они сказали мне использовать ArrayLists:

Matcher m = p.matcher(code); 

while (m.find()) { 
    String grupo = m.group(1); 
    ArrayList lista = new ArrayList(); 
    lista.add(0,grupo); 
    for(int i = 0;i<lista.size();i++){ 
     System.out.println(lista.get(i)); 

В этом коде theorically, программа находит код в соответствии с некоторыми моделями, которые я поставил перед и «экономит» результаты в ArrayList.

Большое дело в том, что я не могу поместить каждый результат в другую строку, и программа продолжает рассказывать мне на консоли, что у arraylist есть размер 1, а сохраненные результаты похожи на 10 или 12 элементы. Однако, когда я запускаю программу с этим кодом, она показывает мне все элементы.

+6

Проблема в том, что вы пересоздаете список внутри цикла. Объявите список за пределами. –

ответ

0

Использование дженериков и структурировать свой код следующим образом:

ArrayList<String> lista = new ArrayList<>(); 
while (m.find()) { 
    String grupo = m.group(1); 
    lista.add(0, grupo); 
} 

Вы можете распечатать список элементов:

for (String str : lista) { 
    System.out.println(str); 
} 
+0

Спасибо! Теперь мне нужен способ распечатать один из этих элементов в строке, например строку, содержащую элемент 3 этого списка. –

+0

@ SebastiánPazPereira: 'lista.get (2);' возвращает третий элемент списка. – jlordo

+0

Это очень помогло мне. Но знаете ли вы, почему этот список теперь кажется перевернутым? Мне нужен способ превратить его в –

0

импорт java.util.Collections;

Список myList = новый ArrayList(); String [] myArray = new String [] {"Java", "Util", "List"};

Collections.addAll (myList, myArray);

Смежные вопросы