질문 : Java에서 목록을 배열로 변환
Java에서 List
을 Array
로 어떻게 변환 할 수 있습니까?
아래 코드를 확인하십시오.
ArrayList<Tienda> tiendas;
List<Tienda> tiendasList;
tiendas = new ArrayList<Tienda>();
Resources res = this.getBaseContext().getResources();
XMLParser saxparser = new XMLParser(marca,res);
tiendasList = saxparser.parse(marca,res);
tiendas = tiendasList.toArray();
this.adaptador = new adaptadorMarca(this, R.layout.filamarca, tiendas);
setListAdapter(this.adaptador);
tiendasList
의 값으로 tiendas
를 채워야합니다.
답변
어느 한 쪽:
Foo[] array = list.toArray(new Foo[0]);
또는:
Foo[] array = new Foo[list.size()];
list.toArray(array); // fill the array
이것은 참조 유형의 배열에 대해서만 작동합니다. 기본 유형 배열의 경우 기존 방식을 사용하십시오.
List<Integer> list = ...;
int[] array = new int[list.size()];
for(int i = 0; i < list.size(); i++) array[i] = list.get(i);
수정:
list.toArray(new Foo[0]);
사용하는 것이 좋습니다. , not list.toArray(new Foo[list.size()]);
.
JetBrains Intellij Idea 검사에서 :
컬렉션을 배열로 변환하는 두 가지 스타일이 있습니다. 미리 크기가 지정된 배열 (예 : c.toArray (new String [c.size ()]) ) 또는 빈 배열 (예 : c.toArray (new String [))을 사용합니다. 0]) . 이전 Java 버전에서는 사전 크기 배열을 사용하는 것이 권장되었는데, 적절한 크기의 배열을 생성하는 데 필요한 리플렉션 호출이 상당히 느 렸기 때문입니다. 그러나 OpenJDK 6의 최신 업데이트 이후이 호출이 내재되어 성능이 향상되었습니다. 빈 배열 버전은 미리 크기 조정 된 버전과 비교하여 동일하고 때로는 더 좋습니다. 또한 미리 크기 조정 된 배열을 전달하는 것은 크기 와 toArray 호출간에 데이터 경쟁이 가능하여 추가로 발생할 수있는 데이터 경쟁이 가능하므로 동시 또는 동기화 된 수집에 위험합니다. 컬렉션이 작업 중에 동시에 축소 된 경우 배열 끝에 null이 표시됩니다.이 검사를 통해 균일 한 스타일을 따를 수 있습니다. 빈 배열 (최신 Java에서 권장 됨)을 사용하거나 크기가 미리 지정된 배열을 사용합니다. 이전 Java 버전 또는 비 HotSp에서 더 빠름 ot 기반 JVM).
사전 크기 배열을 사용하는 이전 Java 버전에서는 적절한 크기의 배열을 만드는 데 필요한 리플렉션 호출이 매우 느리기 때문에 권장되었습니다. 그러나 OpenJDK 6의 최신 업데이트 이후이 호출이 내재되어 빈 어레이 버전의 성능이 미리 크기 조정 된 버전과 비교하여 동일하고 때로는 더 나아졌습니다. 또한 사전 크기 배열을 전달하는 것은 크기 와 toArray 호출 사이에 데이터 경쟁이 가능하기 때문에 동시 또는 동기화 된 수집에 위험합니다.이 경우 수집이 작업 중에 동시에 축소 된 경우 배열 끝에 추가 null이 발생할 수 있습니다.
이 검사를 사용하면 빈 배열 (최신 Java에서 권장 됨)을 사용하거나 사전 크기 배열 (이전 Java 버전 또는 HotSpot 기반이 아닌 JVM에서 더 빠를 수 있음)을 사용하여 균일 한 스타일을 따를 수 있습니다.
출처 : https://stackoverflow.com/questions/9572795/convert-list-to-array-in-java
'프로그래밍 언어 > JAVA' 카테고리의 다른 글
속성 별 Java 8 구별 (0) | 2021.11.18 |
---|---|
JavaScript에서 방향키를 감지 하는 방법 (0) | 2021.11.16 |
Java에서 두 배열을 연결하는 방법 (0) | 2021.11.16 |
macOS Mojave (10.14)에서 Lion (10.7)까지 JAVA_HOME 환경변수 설정 (0) | 2021.11.12 |
자바에서 일반 텍스트 파일 읽기 (0) | 2021.11.12 |