안 드 로 이 드 기초 지식
1. Array,ArrayList,List
Array :
배열 은 메모리 에 연속 으로 저장 되 어 있 기 때문에 그의 색인 속 도 는 매우 빠 르 고 그의 할당 과 수정 도 매우 간단 하 다.그러나 성명 할 때 배열 의 길 이 를 제시 해 야 하 며 배열 의 길 이 를 동적 으로 수정 할 수 없습니다.
ArrayList
ArrayList list = new ArrayList();
//
list.Add("abc"); list.Add(123);
//
list[2] = 345;
//
list.RemoveAt(0);
//
list.Insert(0, "hello world");
우리 가 Array List 의 데 이 터 를 사용 하여 문 제 를 처리 할 때 유형 이 일치 하지 않 는 오 류 를 보고 할 수 있 습 니 다. 즉, Array List 는 유형 이 안전 하지 않 습 니 다.데 이 터 를 삽입 할 때 조 심 스 럽 고 같은 유형의 데 이 터 를 삽입 했다 고 보장 하지만 사용 할 때 우 리 는 이 를 대응 하 는 원래 유형 으로 바 꾸 어 처리 해 야 한다.이것 은 포장 과 상 자 를 뜯 는 작업 이 존재 하여 매우 큰 성능 손실 을 가 져 올 것 이다.
int i=123; object o=(object)i;
뜯 기: object 대상 o 의 값 이 int 형식의 변수 i 에 부 여 됩 니 다.
object o=123; int i=(int)o;
포장 과 상 자 를 뜯 는 과정 은 성능 을 매우 손상 시킨다.
List
바로 Array List 가 안전 하지 않 은 유형 과 포장 해 상 자 를 뜯 는 단점 이 있 기 때문에 C \ # 2.0 이후 에 일반적인 개념 이 나 타 났 다.한편, List 류 는 Array List 류 의 범 형 등가 류 이다.대부분의 용법 은 Array List 와 비슷 하 다. List 류 도 IList 인 터 페 이 스 를 계승 하기 때문이다.가장 관건 적 인 차 이 는 성명 List 집합 시, 우 리 는 그 성명 List 집합 내 데이터 의 대상 유형 을 동시에 필요 로 한 다 는 것 이다.예 를 들 면:
List list = new List();
//
list.Add(123);
//
list[0] = 345;
//
list.RemoveAt(0);
동시에 List 는 구 조 될 수 없 지만, 위 와 같이 List 에 인용 을 만 들 수 있 으 며, ListArray 는 구 조 될 수 있 습 니 다.
List list; // list=null;
List list=new List(); //
List list = new ArrayList();이 문장 은 Array List 의 대상 을 만 든 후 List 로 거 슬러 올 라 갔다.이 때 는 List 대상 입 니 다. 일부 Array List 는 있 지만 List 에 없 는 속성 과 방법 이 있 으 면 더 이상 사용 할 수 없습니다.그리고 ArrayList list = new ArrayList ();대상 을 만 들 면 ArrayList 의 모든 속성 이 유 지 됩 니 다.
LinkedList
Array List 와 LinkedList 의 용법 차이:
LinkedList 의 장단 점:
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.