黑马程序员技术交流社区

标题: 求解,list类的问题. [打印本页]

作者: 王怡然    时间: 2012-5-7 13:13
标题: 求解,list类的问题.
  1. <div class="blockcode"><blockquote>
  2. public class ListTest {
  3. public static void main(String[] args){
  4.   Person p1 = new Person("张三",20);
  5.   Person p2 = new Person("李四",21);
  6.   Person p3 = new Person("王五",22);
  7.   
  8.   List list = new ArrayList();
  9.   
  10.   list.add(new Person("赵六",23));
  11.   System.out.println(list.get(0));
  12.   System.out.println(list.get(1));
  13.   System.out.println(list.get(2));
  14.   System.out.println(list.get(3));
  15.   System.out.println(list.size());
  16. }
  17. }<blockquote>
复制代码
list.add是添加元素,
上面的Person p1 = new Person("张三",20);
和它的区别是什么?  
我在下面获取了4个角标上的内容,以及长度,
但是会报错,只有0角标上有内容,求解~

作者: 黄或俊    时间: 2012-5-7 13:22
详细请查看以下图片

无标题.jpg (71.79 KB, 下载次数: 30)

无标题.jpg

作者: 徐慧书    时间: 2012-5-7 13:23
list你只进行了一次add 对吧,那么自然里面是有index=0 有内容了,
要get(1、2、3) 都有内容那么 你就应该list.add(p1),add(p2), add(p3)
list是一个链表(实际是数组形式的),你必须把元素添加到这个链表中,它里面才会有值,明白么?
作者: 周素强    时间: 2012-5-7 13:23
public class ListTest {

public static void main(String[] args){

  Person p1 = new Person("张三",20);//这行的意思是创建一个Person对象,把这个对象的内存地址付给p1

  Person p2 = new Person("李四",21);

  Person p3 = new Person("王五",22);

  

  List list = new ArrayList();//这里是创建一个arraylist集合对象,这里用的是多态因你定义的变量类型是list,list是arraylist的父类
                                                                //集合是用于存储对象的
  

  list.add(new Person("赵六",23));//add的方法是把对象添加到集合里面,你这只添加了一个对象,所以集合里面有一个元素

  System.out.println(list.get(0));

  System.out.println(list.get(1));

  System.out.println(list.get(2));

  System.out.println(list.get(3));

  System.out.println(list.size());

}

}
作者: 王怡然    时间: 2012-5-7 13:27
黄或俊 发表于 2012-5-7 13:22
详细请查看以下图片

明白了,  是创建对象个数问题,根本就不是一个对象.谢了.
作者: 黑马张立国    时间: 2012-5-7 13:29
Person p1 = new Person("张三",20);是创建对象
list.add(new Person("赵六",23));//list.add()是往集合加对象;//new Person("赵六",23)是创建匿名对象
你虽然创建了4个对象,但你之加入了一个,所以会报错。
建议楼主,看看毕老师的视频,(虽然视频看的过程很长,但要坚持,每一个合格黑马都是这么过来的)
坚定信念 努力 加油 让我们一块进步吧




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2