[java] ArrayList
JAvaの
ほとんどの機能は参考サイトで良いです.
http://docs.oracle.com/javase/6/docs/api/index.html?index-filesindex-1.html
###1. ArrayListのfill(C++のstd::fill)
だからそうすることもできます.
==
###3. ArrayListソート
使用します.
使用します.
###4. アレイのソート
使用します.
使用します.
ArrayList
はCollection Framework
の一種である.C++
のようにoperator[]
をサポートすれば良いのですが…E get(int index)
の方法で入札者のアクセスをサポートします.ほとんどの機能は参考サイトで良いです.
http://docs.oracle.com/javase/6/docs/api/index.html?index-filesindex-1.html
###1. ArrayListのfill(C++のstd::fill)
import java.util.ArrayList;
import java.util.Collections;
/*...중략...*/
ArrayList<Integer> v;
v=new ArrayList<>(Collections.nCopies(10,4));
//10개의 배열을 생성후, 4로 초기화 함
nCopies
の2番目のパラメータにnew CLASS()
を入れると、すべての配列が1つのオブジェクトを指します.これはassign
のような方法ではありません.だからそうすることもできます.
class AAA{
/*...*/
}
ArrayList<AAA> v=new ArrayList<>(Collections.nCopies(10,null));
for(int i=0;i<v.size();i++){
v.set(i,new AAA());
}
###2. Arrayのfill(C++のstd::fill)Integer[] v;
v=new Integer[10];
Arrays.fill(V,7); //V배열 모두를 7로 채움
バイナリ検索とソートもArrays
に属します.==
우선 배열자체를 할당한다, 각 원소를 한번에 할당하는 방법은 없다고 한다.
==###3. ArrayListソート
1. 객체 안에 비교함수를 만들 경우
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Collections;
import java.util.Random;
class AAA{
public Integer first;
public Integer second;
public int compareTo(AAA a){
return this.first < a.first ? -1 : this.first > a.first ? 1 : 0;
}
}
public class Main{
public static void main(String[] args){
ArrayList<AAA> a = new ArrayList<>(Collections.nCopies(10, null));
Random rand = new Random();
for(int i = 0; i < 10; i++){
a.set(i, new AAA());
a.get(i).first = rand.nextInt(100);
a.get(i).second = i * i;
}
Collections.sort(a, AAA::compareTo); // 정렬 방법1
// a.sort(AAA::compareTo); // 정렬 방법2
for(AAA i : a){
System.out.println(i.first + '\t' + i.second);
}
}
}
Collections.sort(인스턴스 이름, 객체 이름::비교함수);```
또는
インスタンス名.sort(オブジェクト名::比較関数);````使用します.
2. 객체 밖에 비교함수를 만들 경우
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Collections;
import java.util.Random;
class AAA{
public Integer first;
public Integer second;
}
class ComparatorAAA implements Comparator<AAA>{
@Override
public int compare(AAA a, AAA b){
return a.first < b.first ? -1 : a.first > b.first ? 1 : 0;
}
}
public class Main{
public static void main(String[] args){
ArrayList<AAA> a = new ArrayList<>(Collections.nCopies(10, null));
/*...*/
Collections.sort(a, new ComparatorAAA()); // 정렬 방법1
// a.sort(new ComparatorAAA()); // 정렬 방법2
/*...*/
}
}
Collections.sort(인스턴스 이름, new 비교클래스());```
또는
インスタンス名.sort(新しい比較クラス);`````使用します.
###4. アレイのソート
1. 객체 안에 비교함수를 만들 경우
import java.util.Comparator;
import java.util.Collections;
import java.util.Random;
import java.util.Arrays;
class AAA{
public Integer first;
public Integer second;
public int compareTo(AAA a){
return this.first < a.first ? -1 : this.first > a.first ? 1 : 0;
}
}
public class Main{
public static void main(String[] args){
AAA[] a = new AAA[10];
/*...*/
Arrays.sort(a, AAA::compareTo); // 정렬
/*...*/
}
}
Arrays.sort(インスタンス名、オブジェクト名::比較関数);```使用します.
2. 객체 밖에 비교함수를 만들 경우
import java.util.Comparator;
import java.util.Collections;
import java.util.Random;
import java.util.Arrays;
class AAA{
/*...*/
}
class ComparatorAAA implements Comparator<AAA>{
@Override
public int compare(AAA a, AAA b){
return a.first < b.first ? -1 : a.first > b.first ? 1 : 0;
}
}
public class Main{
public static void main(String[] args){
AAA[] a = new AAA[10];
/*...*/
Arrays.sort(a, new ComparatorAAA()); // 정렬
/*...*/
}
}
Arrays.sort(インスタンス名、new比較クラス();```使用します.
Reference
この問題について([java] ArrayList), 我々は、より多くの情報をここで見つけました https://velog.io/@springkim/java-ArrayListテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol