가 나는 ArrayList<ArrayList<E>>
와 2D의 ArrayList를 만들 수 있다고 알고 있지만, 추가 및 객체를 검색에 올 때 그 성가신 진짜 캐스팅 악몽이다. Java 용 효율적인 2D ArrayList 클래스가 있습니까?
답변
아니, 불행하게도 2D ArrayList 클래스 없다. 당신의 다른 옵션 (경우에 Diamension의 0/1/2이 일정)입니다
MyType[][] myList = new MyType[n][m];
또는
ArrayList<MyType>[] myList = new ArrayList<MyType>[n];
또는
ArrayList<ArrayList<MyType>> myList = new ArrayList<ArrayList<MyType>>();
또 다른 옵션은 모든 데이터를 저장하는 것입니다 1d ArrayList에 저장하고 (x, y)를 받아 ArrayList에 x를 반환하는 함수를 만듭니다. 이 방법은 2 차원 배열 밖에 보여하지만, 사용 1D ArrayList를
+1 "다른 옵션" –
쉽게 요소를 저장 "의 ArrayList를>"형 접근 방식은 미세 내가 본 것을에서 이런 일이 꽤 표준입니다. 아이템 추가/제거 등의 편리한 메소드를 제공하는 2D 배열리스트 클래스를 쉽게 작성할 수 있습니다.이 클래스를 사용하려면 "성가신"또는 "캐스트 악몽"과는 거리가 멀습니다. 예를 들어 this 구현을 살펴보십시오. 그것은 완벽하지는 않지만 이런 종류의 접근법을 사용하는 것이 얼마나 쉬운지를 보여줍니다.
구글 컬렉션은 테이블 컬렉션이 있습니다. 행/열로 배치되며 직접, bycol 및 행별로 액세스 할 수 있습니다. 그것은 어떤 도움 경우 테이블의 다른 구현 액세스 유형
에 따라 다른 효율성을하는 것은하는 javolution에서 FastTable보고 구아바
나는 3D "그리드"데이터 구조를 구축에 Table 구현 되세요.
키 트릭
서브 분할이다 희소 데이터를 효율적으로 저장 될 수 있도록 "블록"에 공간. 그 아마 과잉의 비트 비록 당신이,는 z 치수 (0 그것을 유지)를 무시함으로써 좋아하는 경우에당신은 2D 수집로 사용할 수 있습니다. 아직도 이런 종류의 구조를 원하면 옵션. 또는 2D로 단순화 할 수 있습니다.
- 1. 피킹 in java 2d
- 2. Java ArrayList 구문 오류
- 3. Java Bean ArrayList
- 4. 그래픽의 Java arraylist
- 5. ArrayList Java 배열
- 6. Java - 모듈의 ArrayList - 어떻게해야합니까
- 7. Java ArrayList 도움말!
- 8. Java 배열 및 ArrayList
- 9. Java 테이블 arraylist 수정
- 10. 여러 문자열을 검색하는 Java ArrayList
- 11. Java 2D 추가 색상
- 12. Java 2D 배열 문제
- 13. Java 2D Shading/Filling
- 14. 사용자 입력을 저장하는 Java Arraylist
- 15. java Pair 및 ArrayList 질문
- 16. Java ArrayList 문제 (valueOf() 포함)
- 17. Java ArrayList N 요소를 선택하십시오.
- 18. Java 2D 그래픽 사각형
- 19. 2D 데이터 용 Lsqcurvefit
- 20. android 용 3D 벡터 클래스가 있습니까?
- 21. POM.xml 파일을 생성하는 Java 클래스가 있습니까?
- 22. Java strings에서 효율적인
- 23. C + + 또는 Java 용 Flash 애니메이션과 유사한 2D 그래픽 라이브러리
- 24. 저지에있는 JSON ArrayList
- 25. iPhone 용 2D Lua 게임
- 26. iPhone 엔진 용 2D 엔진
- 27. Java 2D. 호버 오버 서클
- 28. Java - ArrayList를 동기화하는 가장 효율적인 방법은 무엇입니까?
- 29. Java : ArrayList : 인덱스로 항목이 존재하는지 확인
- 30. 2D 엔진 용 장면 그래프
효율성을 더 높이려면 무엇이 필요합니까? – jjnguy
일반적으로 효율성. LinkedLists, 중첩 ArrayList 또는 단순한 다차원 배열을 사용하는 의사 2D ArrayList 클래스가 있습니다.이 클래스는 엄청나게 비효율적 인 속도 및 메모리가 될 수 있습니다. –