Java - Bài tập tương tác với 2 List
Viết chương trình thực hiện các yêu cầu sau:
- Khai báo 2 mảng
colors
vàcolors2
và thêm các phần tử cho 2 mảng đó. - Tạo mới 2
List
list
vàlist2
có các phần tử là phần tử của 2 mảng vừa khai báo. - Thêm các phần tử có trong
list2
vào tronglist
, sau đó đưalist2
trở về 1 danh sách rỗng (không có phần tử nào) và hiển thịlist
. - Chuyển các phần tử có trong list thành ký tự in hoa và hiển thị lại
list
đó. - Xóa các phần tử trong
list
từ phần tử thứ 4 đến phần tử thứ 6. Hiển thị lạilist
sau khi xóa. - Đảo ngược
list
và hiển thị lạilist
sau khi đảo ngược.
Bài giải
-------------------- ######## --------------------
Để giải bài tập này, chúng ta sẽ sử dụng các phương thức như sau:
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.
addAll()
: Thêm các phần tử củalist
này vào trong 1list
khác.set(Element e)
: Thay thế các phần tử tronglist
bằng phần tử esubList(int fromIndex, int toIndex)
: trả về 1list
được tách từ phần tử thứfromIndex
đến phần tử đững trước phần tử thứtoIndex
trong 1list
đã tồn tại.previous()
: Hiển thị các phần tử tronglist
theo thứ tự từ phần tử đầu đến phần tử cuối.
Bài giải
public static void main(String[] args) { String colors[] = {"black", "yellow", "green", "blue", "violet", "silver"}; String colors2[] = {"gold", "white", "brown", "blue", "gray", "silver"}; // khai báo 2 List có Class triển khai là LinkedList List<String> list = new LinkedList<>(); List<String> list2 = new LinkedList<>(); // thêm các phần tử có trong 2 mảng // vào trong list và list2 for (int count = 0; count < colors.length; count++) { list.add(colors[count]); list2.add(colors2[count]); } // thêm các phần tử của list2 vào trong list // và list2 trở về null (không có phần tử nào) list.addAll(list2); list2 = null; // hiển thị các phần tử có trong list System.out.println("Các phần tử có trong list: "); for (int count = 0; count < list.size(); count++) { System.out.print(list.get(count) + "\t"); } // chuyển các phần tử trong list thành chữ hoa ListIterator<String> listIterator = list.listIterator(); while (listIterator.hasNext()) { String str = listIterator.next(); listIterator.set(str.toUpperCase()); } System.out.println("\nCác phần tử có trong list sau khi chuyển đổi: "); for (int count = 0; count < list.size(); count++) { System.out.print(list.get(count) + "\t"); } // xóa phần tử trong phạm vi 4 đến 6 trong list // sử dụng phương thức clear() list.subList(4, 7).clear(); System.out.println("\nCác phần tử có trong list sau khi xóa: "); for (int count = 0; count < list.size(); count++) { System.out.print(list.get(count) + "\t"); } // đảo list sử dụng ListIterator // listIterator này sẽ trỏ tới phần tử cuối cùng trong list listIterator = list.listIterator(list.size()); System.out.println("\nlist sau khi đảo ngược: "); while (listIterator.hasPrevious()) { System.out.print(listIterator.previous() + "\t"); } }
Kết quả sau khi biên dịch chương trình:
Câu hỏi thường gặp liên quan: