
「実際に役立つことから始めてみませんか? ArrayList とジェネリックを活用するいくつかの方法がわかります。」
「例 1:」
キーボードから数字のリストを読み取る
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));
}
}
「例 2:」
上記と同じですが、偶数はリストの最後に追加され、奇数はリストの先頭に追加されます。
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
}
}
「例 3:」
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++;
}
}
「例 4:」
配列を偶数と奇数の 2 つの部分に分割します。
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
}
}
「例 5:」
リストを結合する
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);
}
}
「すごいね! ディエゴが今度は同じような練習をトラックに積んでくれるだろうか?」
"はい、彼は意志。"
GO TO FULL VERSION