"Hay là tôi bắt đầu với những gì thực sự hữu ích? Bây giờ bạn sẽ thấy một số cách mà ArrayList và generics có thể được đưa vào hoạt động:"
"Ví dụ 1:"
Đọc danh sách các số từ bàn phím
public static void main(String[] args) throws IOException
{
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in) );
ArrayList<Integer> list = new ArrayList<Integer>() ;
while (true)
{
String s = reader.readLine();
if (s.isEmpty()) break;
list.add(Integer.parseInt(s));
}
}
"Ví dụ 2:"
Tương tự như trên, nhưng các số chẵn được thêm vào cuối danh sách, số lẻ – vào đầu danh sách.
public static void main(String[] args) throws IOException
{
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
ArrayList<Integer> list = new ArrayList<Integer>();
while (true)
{
String s = reader.readLine();
if (s.isEmpty()) break;
int x = Integer.parseInt(s);
if (x % 2 == 0) // Check that the remainder is zero when we divide by two
list.add(x); // Add to the end
else
list.add(0, x); // Add to the beginning
}
}
"Ví dụ 3:"
Xóa tất cả các số lớn hơn 5:
public static void main(String[] args) throws IOException
{
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in) );
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(7);
list.add(11);
list.add(3);
list.add(15);
for (int i = 0; i < list.size(); ) // We moved the statement that increases i to inside the loop
{
if (list.get(i) > 5)
list.remove(i); // Don’t increase i if we deleted the current element
else
i++;
}
}
"Ví dụ 4:"
Chia một mảng thành hai phần - số chẵn và số lẻ
public static void main(String[] args) throws IOException
{
// Static initialization of the array
int[] data = {1, 5, 6, 11, 3, 15, 7, 8};
// Create a list where all elements are Integers
ArrayList<Integer> list = new ArrayList<Integer> ();
// Use the array to fill the list
for (int i = 0; i < data.length; i++) list.add(data[i]);
ArrayList<Integer> even = new ArrayList<Integer>(); // Even numbers
ArrayList<Integer> odd = new ArrayList<Integer>(); // Odd numbers
for (int i = 0; i < list.size(); i++)
{
Integer x = list.get(i);
if (x % 2 == 0) // If x is even
even.add(x); // Add x to the collection of even numbers
else
odd.add(x); // Add x to the collection of odd numbers
}
}
"Ví dụ 5:"
Hợp nhất danh sách
public static void main(String[] args) throws IOException
{
ArrayList<Integer> list1 = new ArrayList<Integer>(); // Create a list
Collections.addAll(list1, 1, 5, 6, 11, 3, 15, 7, 8); // Fill the list
ArrayList<Integer> list2 = new ArrayList<Integer>();
Collections.addAll(list2, 1, 8, 6, 21, 53, 5, 67, 18);
ArrayList<Integer> result = new ArrayList<Integer>();
result.addAll(list1); // Add all values from each list to the new list
result.addAll(list2);
for (Integer x : result) // A fast way to loop over all elements, only for collections
{
System.out.println(x);
}
}
"Tuyệt! Bây giờ Diego sẽ cho tôi một xe tải các bài tập tương tự chứ?"
"Vâng, anh ấy sẽ."
GO TO FULL VERSION