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對象的索引位置
以上這些掌握后,基本就沒問題了。