avaのコレクション
配列
配列の宣言
new elementType[arraySize]
// creates an empty array of 5 elements:
int[] integers = new int[5];
// creates an array of 5 elements with values:
int[] integers = new int[] {1, 2, 3, 4, 5};
または
int[] integers = {1, 2, 3 , 4, 5};
または
int[] integers = new int[5];
for (int aa = 0; aa < integers.length; aa++) {
integers[aa] = aa + 1;
}
配列のロード(?)
import java.util.logging.*;
logger l = Logger.getLogger("Test");
for (aa = 0; aa < integers.length; aa++) {
1.info("The integer's value is: " + integers[aa];
}
または
logger l = Logger.getLogger("Test");
for (int i : integers) {
l.info("The value is: " i);
}
要素のインデクス
elementt = arrayName[elementIndex];
length属性
int arraySize = arrayName.length;
オブジェクトの配列
// creates an array of 5 elements:
Integer[] integers = new Integers[5];
// creates an array of 5 elements with values:
Integer[] = integers = new Integer[] {
Integer.valueOf(1),
Integer.valueOf(2),
Integer.valueOf(3),
Integer.valueOf(4),
Integer.valueOf(5)
}
ボックス化とボックス化解除
int value = 238;
Integer boxedValue = Integer.valueOf(value);
Integer boxedValue = new Integer(238);
int intValue = boxedValue.intValue();
オートボクシングとオートボクシング
int intValue = 238;
Integer boxedValue = intValue;
intValue = boxedValue;
ボックス化された型の解析と変換
String characterNumeric = "238";
Integer converValue = Integer.parseInt(characterNumeric);
ラッパータイプIntegerをStringに変換
Integer boxedValue= Integer.valueOf(238);
String characterNumeric = boxedValue.toString(boxedValue);
List
Listは順序付きコレクションで「シーケンス」とも呼ばれる。Listコレクションに格納できるのはオブジェクトのみであり、プリミティブ型は格納できない。
Listは、インタフェースであり、直接、インスタンス化できない。
List<String> listOfString = new ArrayList<String>();
または
List<String>listOfString = new ArrayList<>();
<>:ダイヤモンド演算子
ジェネリック
List<Object> listOfObjects = new ArrayList<>();
<Object>は、ジェネリックと呼ばれ、<Object>は、Listに含まれるのはObject型のコレクションであることを示す。
List<Person> listOfPersons = new ArrayList<>();
上記の場合Listに格納できる要素は、Personインスタンスに限定される。
Listに要素を格納
List<Integer> listOfIntegers = new ArrayList<>();
listOfIntegers.add(Integer.valueOf(238));
Listに要素数の表示
listOfIntegers.size();
List中の要素の取得
listOfIntegers.get(0);
Iterable
for (objectType varName : collectionReference) {
// Start using objectType (varNmae) right away...
}
List<Integer> listOfIntegers = new ArrayList<>(Arrays.asList(1, 2,3));
for (Integer i : listOfIntegers) {
System.out.println("Integer is: " + i);
}
set
Setは一意の要素を格納する。格納可能な要素はオブジェクトに限られる。
Setは、インタフェースであり、直接、インスタンス化できない。
Set<Integer> setOfIntegers = new HashSet<>(Arrays.asList(10, 11,10));
for (Integer i : setOfIntegers) {
System.out.println("Integer is: " + i);
}
Set内の要素の順序は保証されない。
Set<Integer> setOfIntegers = new HashSet<>();
setOfIntegers.add(Integer.ValueOf(10);
setOfIntegers.add(Integer.ValueOf(20);
setOfIntegers.add(Integer.ValueOf(30);
setOfIntegers.add(Integer.ValueOf(40);
setOfIntegers.add(Integer.ValueOf(50);
for (Integer i : setOfIntegers) {
System.out.println("Integer is: " + i);
}
Map
キーに対して値を関連付け、値は、オブジェクトに限る。
Mapはインタフェースであり直接インスタンス化できない。
要素の格納
public Map<String, Integer> createMapOfIntegers() {
Map<String, Integer> mapOfIntegers = new HashMap<>();
mapOfIntegers.put("1", Integer.valueOf(1));
mapOfIntegers.put("2", Integer.valueOf(2));
mapOfIntegers.put("3", Integer.valueOf(3));
return mapOfIntegers;
}
要素の取得
Map<String, Integer> mapOfIntegers =createMapOfIntegers();
Integer theree = mapOfIntegers.get("3");
MapでSetの使用
Set<String> keys = mapOfIntegers.keySet();
for (String key : keys) {
Integer value = mapOfIntegers.get(key);
System.out.println(key: + value);
}