java学習 はじめてのArrayList
ArrayList使ってみた。基本型はラッパーオブジェクトを格納して、メソッド呼び出しでは引数をオートボクシングといって自動でラッパーオブジェクトにしてくれるらしい。
// ArrayListはサイズが拡張可能な配列型データ構造 // C++STLのvectorに似たデータ構造 // 参考: http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/ArrayList.html import java.util.ArrayList; import java.util.Arrays; public class UseArrayList { public static void main(String[] args) { // 基本型はラッパークラスを指定する ArrayList<Integer> lst = new ArrayList<Integer>(); // .addで要素を追加 for (int i = 0; i < 10; i++) { // lst.add(new Integer(i)); // lst.add(Integer.valueOf(i)); lst.add(i); // auto boxing; ラッパークラスに自動で入れてくれる } // .getで要素を取得 for (int i = 0; i < lst.size(); i++) System.out.println(lst.get(i)); // .contains(element)で要素が含まれているかどうか System.out.println(lst.contains(9)); System.out.println(lst.contains(10)); // Arrayにする Object[] a = lst.toArray(); System.out.println(Arrays.toString(a)); // .set(index, element)で要素を代入 // .size()で要素数を得る Integer n = new Integer(0); for (int i = 0; i < lst.size() / 2; i++) { // swap [i] [lst.size()-i-1] n = lst.get(i); lst.set(i, lst.get(lst.size() - i - 1)); lst.set(lst.size() - i - 1, n); } // .toStringがオーバーライドされている System.out.println(lst); // .indexOf(element) 要素を含むインデクスを求める System.out.println(lst.indexOf(2)); // 存在しない場合は-1 System.out.println(lst.indexOf(10)); System.out.println(lst); // .removeで要素を削除 lst.remove(2); System.out.println(lst); } }