ArrayListと反復器およびストリーム
14102 ワード
ArrayList vs Array
Array(配列)は一定の長さを有し、private typeおよびobject要素を含むことができる.
ArrayListはListインタフェースで実装されるクラスであり,object要素のみを含み,動的長さを持つ.
ArrayListには様々な用途があり、以下の例で説明する.
List<String> strlist = new ArrayList<>();
strlist.add("dsg");
strlist.add("kmb");
strlist.add("ibk");
strlist.add("kmj");
for(int i=0; i<strlist.size(); i++) {
System.out.println("strlist : " + strlist.get(i));
}
Stringタイプのジェネリックを持つArrayListオブジェクトを作成します.addメソッドを使用して、インデックスごとに値を追加します.結果は以下の通りです.List<String> strlist2 = Arrays.asList("dsg", "kmb", "ibk", "kmj");
for(String str : strlist2) {
System.out.println("str : " + str);
}
ArrayクラスのメソッドasListを使用して直接値を入力します.foreach文(強化されたfor文)、for(変数タイプ変数:配列名)です.
for(String str : strlist2) == String [ ] str = strlist2.get(i)
結果は以下の通りです.
List<String> strlist3 = Arrays.asList("dsg", "kmb", "ibk", "kmj");
strlist3.stream()
.forEach( i -> {
System.out.println(i);
});
List<UserDto> strlist4 = Arrays.asList(
new UserDto("dsg", 31, "male"),
new UserDto("kmb", 30, "male"),
new UserDto("ibk", 29, "female"),
new UserDto("kmj", 28, "male")
);
strlist4.stream()
.map(UserDto::getAge)
.forEach( i -> {
System.out.println(i);
});
System.out.println (
strlist4.stream()
.map(UserDto::getAge)
.collect(Collectors.toList())
);
3)ストリーム()中間処理手法を用い,複数の手法を用いてデータを変換できる.以前は反復器を使用していましたが、以下の例に示すように(複雑です)
stream()メソッドにより,データパケットを容易に行うことができる.
List<String> stringList = Arrays.asList("월","화","수","목","금");
Iterator<String> iterator = stringList.iterator();
while(iterator.hasNext()) {
System.out.println("iterator.next() : " + iterator.next());
iterator.remove();
}
反復メソッドの意味は次のとおりです..hasNext()-->次の値が見つかるまでループを続けます
.next()-->次のデータを返します.
.remove()-->next()メソッドで呼び出されたデータを削除
結果値:最初に表示された月を除外します.next()メソッドで返される「和」、「数」、「木」、「金」を削除します.
Reference
この問題について(ArrayListと反復器およびストリーム), 我々は、より多くの情報をここで見つけました https://velog.io/@minbo2002/ArrayList에-대하여テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol