У меня есть простая петля над массивом String, которая затем передает String методу threadlist. Однако я не могу напечатать оба String. Он просто печатает второе имя "Fred"
, что заставляет меня думать, что я переписываю первую строку со второй строкой. Как я могу сделать, чтобы ArrayList
включал обе строки "Tim"
и "Fred"
?Looping thread arraylist
import java.util.ArrayList;
public class Threads extends Thread implements Runnable{
private ArrayList threadList;
private String e;
public static void main(String[] args) {
String[] elements = {"Tim","Fred"};
Threads t = new Threads();
for (String e: elements) {
t.threadL(e);
}
//loop over the elements of the String array and on each loop pass the String to threadL
for (int index = 0;index<t.threadList.size();index++){
System.out.print(t.threadList.get(index));
}
//loop over the threadList arraylist and printout
}
public ArrayList<String> threadL(String e) {
threadList = new ArrayList<>();
threadList.add(e);
return(threadList);
}
}
'threadList = new ArrayList <>();' как вы думаете, что происходит здесь? Особенно, когда вы вызываете 'threadL' второй раз? – Tom
Где вы реализуете Runnable? – Untitled123
Вы создаете новый 'ArrayList' каждый раз, когда вызывается' threadL'. –