1

私はこのコードを持っています、そしてそれはうまく働きます:

News news_data[] = new News[] {
new News("1","news 1","this is news 1"),
new News("2","news 2","this is news 2"),
new News("2","news 1","this is news 2"),
};

このコードでは、3つの新しいオブジェクトを追加しますが、ループ内で動的に追加する必要があります。これどうやってするの?実際、この配列構造はわかりません。簡単にできるなら、このコードを私に説明してください

私はこれを試しましたが、機能しません:

   News news_data[];
   for(i=1;i<3;i++){
      news_data=new News[] {
          new News("1","news 1","this is news 1"),
          new News("2","news 2","this is news 2"),
          new News("2","news 1","this is news 2"),
      };
   }
4

4 に答える 4

5

には動的な割り当てはありません。この目的のためにここにありますJavaListsたとえばList、、、..。ArrayList_LinkedList

このように使用:

// Declaring, initializing the list
ArrayList<News> list = new ArrayList<News>();
// Adding a news :
News news = new News("1","news 1","this is news 1");
list.add(news);

Newsそして、 (あなたの例では)の配列がすでにある場合はnews_data、リストをすばやく埋めて開始できます:

for(News n : news_data) { list.add(n); }
于 2013-03-11T20:03:42.583 に答える
4

リストを使用します。それがリストの目的です。

List<News> news = new ArrayList<News>();
news.add(new News(...));
于 2013-03-11T20:01:44.847 に答える
1

リストの途中でオブジェクトを追加および削除することがほとんどの場合(順序は重要です)、LinkedListを使用することをお勧めします。ランダムアクセスが頻繁に使用される場合は、ArrayListの方が適しています。この場合、O(1)時間で最後に要素を追加できます。http://en.wikiversity.org/wiki/Java_Collections_Overviewを参照してください

于 2013-03-11T20:14:19.370 に答える
0
News news_data[] = new News[3]; // defining the size of Array to 3
new_data[0] = new News("1","news 1","this is news 1"),
new_data[1] = new News("2","news 2","this is news 2"),
new_data[2] = new News("2","news 1","this is news 2"),

しかし、より良いアプローチは、ArrayListを使用することです。それらは動的構造用に作られています。

List<news> news_data = new ArrayList<News>();
news_data.add(new News("1","news 1","this is news 1"));
news_data.add(new News("2","news 2","this is news 2"));
news_data.add(new News("2","news 1","this is news 2"));
于 2013-03-11T20:12:06.973 に答える