Tải bản đầy đủ (.pdf) (18 trang)

ArrayList iterator listiterator

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (920.39 KB, 18 trang )

ARRAYLIST


ARRAYLIST
Được dùng nhiều cho những thông tin ít thay đổi thường
là dùng trong tra cứu vì nó các tính năng chỉ mục. Giúp
truy cập nhanh hơn.
 Là sự kết hợp giữa mảng và list.
 Các phương thức thông dụng trong ArrayList


Add, remove


BÀI TẬP XÂY DỰNG ARRAYLIST CƠ BẢN


3/25/2015

Đọc hiểu và xây dựng code
ở trang 260, 261

Thạc sỹ: Trần Lê Như Quỳnh


BÀI TẬP VẬN DỤNG ARRAYLIST ĐƢỢC
DỰNG SẴN TRONG JAVA COLLECTION
FRAMEWORK

1.
2.



3.
4.

Cho file danhsachTrungthuong.txt.
Viết chương trình đọc file này vào trong ArrayList.
Viết hàm ngẫu nhiên cho chạy tìm ra người trúng
thưởng.
Viết hàm đảo ngược danh sách
Viết hàm tìm ra người có tên trùng với tên nhận vào


HƢỚNG DẪN THỰC HÀNH


Xây dựng một lớp ArrayListUtils, trong đó có xây dựng các phương thức ở dạng static.

1.

Phƣơng thức load(String url)load tất cả dữ liệu từ một file trả về tên một ArrayList.



public static ArrayList load(String urlToFile){
ArrayList result = new ArrayList();
try{
File file = new File(urlToFile);
FileReader reader = new FileReader(file);
BufferedReader in = new BufferedReader(reader);
String name = in.readLine();

while(name != null){
result.add(name);
name= in.readLine();
}
}
catch(Exception e){



}



return result;
}




















2.

Phƣơng thức load_ByFullName(String url, String ten)load tên và số thứ tự(vị trí 1
N) của tên trong danh sách.


HƢỚNG DẪN THỰC HÀNH (TT)
3.

4.

Viết phương thức load_BySize(String url, int size) chỉ
load lên những dòng thỏa điều kiện về size và bỏ vào
trong ArrayList.
Từ phần dữ liệu ArrayList đã đọc lên test các phương
thức add(), remove().
Viết phương thức getInfoOdd(String url) dựa vào
phương thức load() đã viết ở trên để lấy dữ liệu từ file
lên ArrayList rồi sử dụng hàm get(int index) của
ArrayList để lấy ra những dòng thỏa điều kiện là ở vị
trí lẻ.(**Có thể làm bằng cách viết bằng cách lấy vị trí
lẻ trước khi load lên mà không dùng qua phương thức
get() của ArrayList)


3/25/2015


ITERATOR

Thạc sỹ: Trần Lê Như Quỳnh


ITERATOR
Iterator là một đối tượng dịch chuyển tuần tự từ phần tử
này đến phần tử kế tiếp thông qua một cấu trúc
collection, cho phép truy cập tới phần tử của nó. Mỗi
phần tử được kiểm tra true một lần.
 Các phương thức đặc trưng của Iterator




Boolean hasNext()
 Object next()
 Void remove()


THE ITERABLE INTERFACE AND JAVA’S FOREACH LOOP
for(ElementType variable: collection){
loopBody // may refer to ”variable”
}
 Iterator<ElementType>iter = collection.iterator( );
while(iter.hasNext( )){
ElementType variable= iter.next( );
loopBody // may refer to ”variable”
}



3/25/2015

Thạc sỹ: Trần Lê Như Quỳnh


IMPLEMENT ITERATOR


3/25/2015

Làm trang pg 7.13

Thạc sỹ: Trần Lê Như Quỳnh


ITERATOR TRONG JAVA COLLECTION
FRAMEWORK
 Tạo

một lớp main test
 Tạo một mảng chứa các thông tin như sau:
String[] students = new String[] {“Vo Tac Thien”,”Duong Minh
Hoang”,”Luong Son Ba”};
 Tạo

list, từ list gọi hàm Iterator để chuyển list
sang Iterator
 Tiến hành test trên các phương thức hasNext()



3/25/2015

LIST ITERATOR

Thạc sỹ: Trần Lê Như Quỳnh


LISTITERATOR
 Phần

mở rộng kết hợp một số tính năng của List
và Iterator
Void add(Object o) chưa được cài đặt
 Boolean hasNext()
 Boolean hasPrevious()
 Object next()
 Int nextIndex()
 Object previous()
 Int previousIndex()
 Void remove() chưa được cài đặt
 Void set(Object o)



BÀI TẬP LISTITERATOR

3/25/2015


Thạc sỹ: Trần Lê Như Quỳnh


BÀI TẬP LISTITERATOR

3/25/2015

Thạc sỹ: Trần Lê Như Quỳnh


BÀI TẬP LISTITERATOR
Tạo một lớp có tên HanhTinh.
Private String tenTV;
Private String tenTA;
Private double dientich;
Private double khoiLuong;
Private double chuKy;
Public HanhTinh(String tenTV, String tenTA, double cv, double klg, double cky){
…..
}
 Viết hàm toString() cho lop HanhTinh
 Tạo một lớp có tên là HTinhIteratorList. Lớp này có constructor nhận vào là một
mảng chứa các đối tượng HanhTinh.
Private IteratorList htIteratorList;
HTinhIteratorList (HanhTinh[ ] dsachHT){
htIteratorList = dsachHT.asList().listIterator();
}
 Viết hàm toString() cho lớp HTinhIteratorList
 Thực hiện lớp Test với dữ liệu về các hành tinh được cung cấp




BÀI TẬP LISTITERATOR
1.

2.

3.

Viết hàm isContaint(String tenHT)tìm kiếm
xem tên của PlanetIteratorList có chứa hành
tinh nào có tên đó hay ko, trả về boolean.
Viết hàm greaterThan_SizeCV(double size)
trả về một String chứa các tên của các hành
tinh chứa trong PlanetIteratorList.Trong lớp
test, test xem những hành tinh nào có chu vi
lớn hơn chu vi của Trái Đất.
Viết isEqual(double weight) trả về hành tinh
có trọng lượng bằng với trọng lượng đã cho.


BÀI TẬP LISTITERATOR
 Viết

hàm getInfo(String tenTA) nhận vào tên của
một hành tinh trả về những thông tin có liên
quan đến hành tinh đó.
 Viết hàm getRandomInfo()lấy ra ngẫu nhiên
thông tin về một hành tin.
 Viết hàm getInfoPrevious(HanhTinh ht)cho biết

tên hành tin đứng trước tên hành tin nhận vào.
 Viết hàm maxCky( )cho biết chu kỳ của hành
tinh nào lớn nhất, trả về tên của hành tinh.



×