很全的ArrayList用法
2014-04-17 20:01
162 查看
转帖自:http://www.java3z.com/cwbwebhome/article/article5/81356.html?id=3615
ArrayList用法:
ArrayList是接口List的实现类,所以推荐以List接口来使用。
1、创建ArrayList的List接口
例:
List books = new ArrayList();
Java支持泛形后,创建的同时可以指定元素的类型。
例:
Class Book {
......
}
List<Book> books = new ArrayList<Book>();
为避免容器自动扩容的次数而影响性能,可以指定创建时的元素大小。
例: 创建可容纳100个Book对象的ArrayList,超过100个将自动扩容
List<Book> books = new ArrayList<Book>(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<Book> 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对象的索引位置
ArrayList用法:
ArrayList是接口List的实现类,所以推荐以List接口来使用。
1、创建ArrayList的List接口
例:
List books = new ArrayList();
Java支持泛形后,创建的同时可以指定元素的类型。
例:
Class Book {
......
}
List<Book> books = new ArrayList<Book>();
为避免容器自动扩容的次数而影响性能,可以指定创建时的元素大小。
例: 创建可容纳100个Book对象的ArrayList,超过100个将自动扩容
List<Book> books = new ArrayList<Book>(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<Book> 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对象的索引位置
相关文章推荐
- 经典模拟问题--约瑟夫环 POJ--3750
- 证明不是哈密顿图的几种方法归纳总结
- 最短路模版--迪杰斯特拉
- MariaDB Proxy读写分离的实现
- 读取远程注册表键值
- G - Mad Veterinarian
- Cracking the coding interview--Q19.10
- 如何提高网页打开速度?
- Java程序员学习Flex和BlazeDS的十三个理由
- Roy Li的学习和成长自传
- msg邮件转eml邮件
- (android高仿系列)今日头条 --新闻阅读器 (二)
- 服务器提交了协议冲突. Section=ResponseHeader Detail=CR...的解决方案总结
- 【自习任我行】任务跟踪6
- 转:java开发的10位牛人
- MySQL实现循环插入功能
- C#创建文件目录和文件名本地化
- fatal error C1083: 无法打开包括文件:"dxtrans.h": No such file or directory
- 非递归版归并排序
- 二叉搜索树的非递归与递归遍历以及层次遍历