Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2397923
  • 博文数量: 328
  • 博客积分: 4302
  • 博客等级: 上校
  • 技术积分: 5486
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-01 11:14
个人简介

悲剧,绝对的悲剧,悲剧中的悲剧。

文章分类

全部博文(328)

文章存档

2017年(6)

2016年(18)

2015年(28)

2014年(73)

2013年(62)

2012年(58)

2011年(55)

2010年(28)

分类: Java

2014-06-09 15:14:19

ArrayList是接口List的实现类,所以推荐以List接口来使用。

1、创建ArrayList的List接口


例:
List books = new ArrayList();
Java支持泛形后,创建的同时可以指定元素的类型。
例:
Class Book {
......
}
List books = new ArrayList();
     为避免容器自动扩容的次数而影响性能,可以指定创建时的元素大小。


例: 创建可容纳100个Book对象的ArrayList,超过100个将自动扩容
List books = new ArrayList(100);


2、添加元素


添加在末尾
例:
Book book1 = new Book();
Book book2 = new Book();
Book book3 = new Book();
books.add(book1);
books.add(book2);
books.add(book3);

添加在指定索引处
例:
// 虽然加book1后直接加book3了,但book2是被加在索引1的地方
// 所以效果同上,是book1、book2、book3的顺序
books.add(book1);
books.add(book3);
books.add(1, book2);
3、 获取ArrayList中元素的个数
例:
int count = books.size();


4、读取元素


利用普通的for循环:
例:
for (int i = 0; i < books.size(); i++ {
  Book newBook = books.get(i);
  // 不带泛形的注意要转型
  Book book = (Book) books.get(i);
  System.out.println(book.getName());
}

利用for循环的新特性:
例:
for (Book book : books) {
   // 用book就能访问了
   System.out.println(book.getName());
}
利用枚举:
例:
Iterator iter = books.iterator();
while (iter.hasNext()) {
   Book book = iter.next();
   System.out.println(book.getName());
}


5、移除元素


移除指定索引处的元素
例:
books.remove(0); // 移除book1
books.remove(1); // 移除book2
books.remove(2); // 移除book3
移除指定对象的所在元素

例:
Book delBook = books.get(1);
books.remove(delBook); // 移除book2
移除所有元素
例:
books.clear();


6、判断ArrayList是否为空(没有元素)


原方法:
if (books.isEmpty()) {
}
直接判断大小:
if (books.size() == 0) {
}


7、判断ArrayList中是否已经存在了某对象


例:
// 判断是否已经存在book2对象
if (books.contains(book2)) { // 已经存在
}


8、根据对象反查询它的索引位置


从前住后查询,反回第一个符合条件的位置
例:
list.indexOf(book2); // 查询book2对象的索引位置

从后住前查询,反回第一个符合条件的位置
例:
list.lastIndexOf(book2); // 查询book2对象的索引位置

以上这些掌握后,基本就没问题了。

转载自
阅读(1951) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~