在java中将类的实例添加到Arraylist
我有10个类电影的实例,我希望将它们添加到名为cataloge1的Arraylist中 在一个包含main方法的类中,我编写了以下代码在java中将类的实例添加到Arraylist,java,arraylist,Java,Arraylist,我有10个类电影的实例,我希望将它们添加到名为cataloge1的Arraylist中 在一个包含main方法的类中,我编写了以下代码 ArrayList catalogue1= new ArrayList () //the class movie is defined in another class Movie movie1= new Movie () Movie movie2= new Movie () Catalogue.Add (1, movie1) 怎么
ArrayList catalogue1= new ArrayList ()
//the class movie is defined in another class
Movie movie1= new Movie ()
Movie movie2= new Movie ()
Catalogue.Add (1, movie1)
怎么了?我是否应该在某个地方定义此arraylist命名目录应该包含哪些类型的对象
先谢谢你
List<Movie> catalogue = new ArrayList<Movie>(10);
catalogue.add(movie1);
catalogue.add(movie2);
...
catalogue.add(movie10);
如果您想让它们按1-10的顺序排列。这里有几个问题。首先,如果需要在列表的开头添加,则需要在索引0而不是1处添加。此外,如果您有JVM1.5+,那么应该使用泛型
List catalogue = new ArrayList<Movie>();
..
...
catalogue.add(movie1);
catalogue.add(movie2);//or (0,movie2)
List catalog=new ArrayList();
..
...
目录.增补(电影1);
目录.增补(电影2)//或(0,电影2)
如果这是您的逐字记录代码,那么有两个直接的问题。首先,您的ArrayList变量是“cataloge1”,但您正试图将一个项目添加到“catalog”中,该项目不存在。其次,您将在位置1添加一个项,这将超出范围,因为arraylist为空。因此,我将更改代码(添加Carl评论中提到的泛型:
ArrayList<Movie> catalogue1 = new ArrayList<Movie>();
Movie movie1= new Movie();
Movie movie2= new Movie();
catalogue1.add(movie1); //equivalently: catalogue.add(0, movie1);
catalogue1.add(movie2);
ArrayList目录1=新的ArrayList();
电影1=新电影();
电影2=新电影();
cataloge1.add(movie1);//等价地:catalog.add(0,movie1);
目录1.增补(电影2);
您的代码中有一些简单的打字错误:
ArrayList catalogue1 = new ArrayList();
Movie movie1= new Movie();
Movie movie2= new Movie();
// Catalogue.Add (1, movie1)
catalogue1.add(movie1);
catalogue1.add(movie2);
从上面的代码可以看出,您遇到的两个问题是:
a
开始,您使用的是大写的a
。Java标识符区分大小写cataloge
的对象调用该方法,但您将命名为:cataloge1
你正在运行哪个版本的JVM?如果它>1.5,你可能应该使用泛型。你的问题是什么?它编译吗?显然不是,但你得到了什么消息?你是指cataloge1.add(1,movie1)我想?大写字母catalog表示一个类,add表示.Net。你的arraylist是cataloge1。
ArrayList catalogue1 = new ArrayList();
Movie movie1= new Movie();
Movie movie2= new Movie();
// Catalogue.Add (1, movie1)
catalogue1.add(movie1);
catalogue1.add(movie2);