クラスがあります。例えば:
public class Data {
private String name;
public Data(String url) {
// There is download something from the Internet and set field "name".
}
public String getName() {
return name;
}
}
いくつかの方法では、オブジェクトデータの配列を初期化する必要があります。
ArrayList<Data> list = new ArrayList<Data>;
for(int i=0; i<max; i++) {
list.add(new Data("http://localhost/" + String.valueOf(i)));
}
しかし、それは長すぎる。私はこれをしたい:
final ArrayList<Data> list = new ArrayList<Data>;
for(int i=0; i<max; i++) {
final int tmp = i;
new Thread() {
public void run() {
list.add(new Data("http://localhost/" + String.valueOf(tmp)));
}
}.start();
}
ただし、メインスレッドは他のスレッドよりも早く終了し、変数リストは空になります。私は何をすべきか?ヘルプpls:)
上。インターネットからデータをダウンロードするにはそれほど速くないので、いくつかのスレッドを作成しました。