logo

다트 목록

다트 목록은 개체의 순서가 지정된 컬렉션인 배열과 유사합니다. 배열은 다른 프로그래밍 언어에서 가장 인기 있고 일반적으로 사용되는 컬렉션입니다. Dart 목록은 JavaScript 배열 리터럴처럼 보입니다. 목록을 선언하는 구문은 다음과 같습니다.

 var list1 = [10, 15, 20,25,25] 

Dart 목록은 대괄호([]) 안에 모든 요소를 ​​저장하고 쉼표(,)로 구분하여 정의됩니다.

목록의 그래픽 표현을 이해해 봅시다.

다트 목록

시트 1 - 그것은 목록 변수 이는 목록 개체를 참조합니다.

색인 - 각 요소에는 목록의 요소 위치를 알려주는 인덱스 번호가 있습니다. 색인 번호는 list_name[index]와 같은 목록의 특정 요소에 액세스하는 데 사용됩니다. 목록 인덱싱은 다음에서 시작됩니다. 0 에게 길이-1 여기서 길이는 목록에 있는 요소의 번호를 나타냅니다. 예를 들어, - 위 목록의 길이는 4입니다.

요소 - 목록 요소는 주어진 목록에 저장된 실제 값 또는 다트 개체를 참조합니다.

목록 유형

Dart 목록은 두 가지 유형으로 분류될 수 있습니다.

  • 고정 길이 목록
  • 성장 가능한 목록

고정 길이 목록

고정 길이 목록은 지정된 길이로 정의됩니다. 런타임에는 크기를 변경할 수 없습니다. 구문은 아래와 같습니다.

구문 - 고정 크기 목록 생성

 var list_name = new List(size) 

위 구문은 고정 크기 목록을 만드는 데 사용됩니다. 런타임에는 요소를 추가하거나 삭제할 수 없습니다. 크기를 수정하려고 하면 예외가 발생합니다.

고정 크기 목록 요소를 초기화하는 구문은 다음과 같습니다.

구문 - 고정 크기 목록 요소 초기화

 list_name[index] = value; 

다음 예를 이해해 봅시다.

예 -

 void main() { var list1 = new List(5); list1[0] = 10; list1[1] = 11; list1[2] = 12; list1[3] = 13; list1[4] = 14; print(list1); } 

산출:

 [10, 11, 12, 13, 14] 

설명 -

위의 예에서는 변수를 만들었습니다. 시트 1 고정된 크기의 목록을 말합니다. 목록의 크기는 5이고 인덱스 위치에 해당하는 요소를 삽입했습니다.인덱스는 10, 1을 보유합니다.인덱스는 12를 보유합니다.

성장 가능한 목록

크기를 지정하지 않고 선언되는 목록을 확장 가능 목록이라고 합니다. 확장 가능 목록의 크기는 런타임에 수정될 수 있습니다. Growable 목록 선언의 구문은 다음과 같습니다.

구문 - 목록 선언

 // creates a list with values var list_name = [val1, val2, val3] Or // creates a list of the size zero var list_name = new List() 

구문 - 목록 초기화

 list_name[index] = value; 

다음 예를 고려하십시오 -

예시 - 1

 void main() { var list1 = [10,11,12,13,14,15]; print(list1); } 

산출:

 [10, 11, 12, 13, 14, 15] 

다음 예에서는 빈 목록을 사용하여 목록을 생성합니다. 목록() 건설자. 그만큼 추가하다() 메소드는 주어진 목록에 요소를 동적으로 추가하는 데 사용됩니다.

예시 - 2

 void main() { var list1 = new List(); list1.add(10); list1.add(11); list1.add(12); list1.add(13); print(list1); } 

산출:

 [10, 11, 12, 13] 

목록 속성

아래는 목록의 속성입니다.

재산 설명
첫 번째 첫 번째 요소 케이스를 반환합니다.
비었다 목록이 비어 있으면 true를 반환합니다.
비어 있지 않음 목록에 요소가 하나 이상 있으면 true를 반환합니다.
길이 목록의 길이를 반환합니다.
마지막 목록의 마지막 요소를 반환합니다.
반전 목록을 역순으로 반환합니다.
하나의 목록에 요소가 하나만 있는지 확인하고 반환합니다.

목록에 요소 삽입

Dart는 목록에 요소를 삽입하는 데 사용되는 네 가지 방법을 제공합니다. 이러한 방법은 아래에 나와 있습니다.

  • 추가하다()
  • 모두 추가()
  • 끼워 넣다()
  • 삽입모두()

add() 메소드

이 메소드는 목록의 끝에 지정된 값을 삽입하는 데 사용됩니다. 한 번에 하나의 요소를 추가하고 수정된 목록 개체를 반환할 수 있습니다. 다음 예를 이해해 봅시다 -

구문 -

 list_name.add(element); 

예 -

 void main() { var odd_list = [1,3,5,7,9]; print(odd_list); odd_list.add(11); print(odd_list); } 

산출:

 [1, 3, 5, 7, 9] [1, 3, 5, 7, 9, 11] 

설명 -

위의 예에는 이름이 지정된 목록이 있습니다. 이상한 목록, 홀수를 보유하고 있습니다. 다음을 사용하여 새 요소 11을 삽입했습니다. 추가하다() 기능. 그만큼 추가하다() 함수는 목록 끝에 요소를 추가하고 수정된 목록을 반환했습니다.

addAll() 메서드

이 메소드는 주어진 목록에 여러 값을 삽입하는 데 사용됩니다. 각 값은 쉼표로 구분되고 대괄호([])로 묶입니다. 구문은 아래와 같습니다.

구문 -

 list_name.addAll([val1,val2,val3,?..valN]); 

다음 예를 이해해 봅시다 -

 void main() { var odd_list = [1,3,5,7,9] print(odd_list); odd_list.addAll([11,13,14]); print(odd_list); } 

산출:

 [1, 3, 5, 7, 9] [1, 3, 5, 7, 9, 11, 13, 14] 

설명 -

위의 예에서는 추가하다() 여러 번 기능합니다. 그만큼 모두 추가() 여러 값을 한 번에 추가하고 수정된 목록 개체를 반환했습니다.

insert() 메서드

그만큼 끼워 넣다() 메소드는 지정된 인덱스 위치에 요소를 삽입하는 기능을 제공합니다. 목록에 삽입할 값의 인덱스 위치를 지정할 수 있습니다. 구문은 아래와 같습니다.

리눅스 폴더 이름 바꾸기
 list_name.insert(index,value); 

다음 예를 이해해 봅시다 -

 void main(){ List lst = [3,4,2,5]; print(lst); lst.insert(2,10); print(lst); } 

산출:

 [3, 4, 2, 5] [3, 4, 10, 2, 5] 

설명 -

위의 예에는 난수 목록이 있습니다. insert() 함수를 호출하고 인덱스 2를 전달했습니다.nd값 10을 인수로 사용합니다. 2에 값을 추가했습니다.nd색인을 생성하고 수정된 목록 객체를 반환했습니다.

insertAll() 메서드

insertAll() 함수는 지정된 인덱스 위치에 다중 값을 삽입하는 데 사용됩니다. 인덱스 위치와 값 목록을 인수로 허용합니다. 구문은 아래와 같습니다.

구문 -

 list_name.insertAll(index, iterable_list_of_value) 

다음 예를 이해해 봅시다 -

예 -

 void main(){ List lst = [3,4,2,5]; print(lst); lst.insertAll(0,[6,7,10,9]); print(lst); } 

산출:

 [3, 4, 2, 5] [6, 7, 10, 9, 3, 4, 2, 5] 

설명 -

위의 예에서는 0에 값 목록을 추가했습니다.인덱스 위치를 사용하여 삽입모두() 기능. 수정된 목록 개체를 반환했습니다.

목록 업데이트 중

Dart는 목록을 업데이트하는 기능을 제공하며 간단히 해당 요소에 액세스하고 새 값을 할당하여 목록을 수정할 수 있습니다. 구문은 아래와 같습니다.

구문 -

 list_name[index] = new_value; 

다음 예를 이해해 봅시다 -

예 -

 void main(){ var list1 = [10,15,20,25,30]; print('List before updation: ${list1}'); list1[3] = 55; print('List after updation:${list1}'); } 

산출:

 List before updation: [10, 15, 20, 25, 30] List after updation: [10, 15, 20, 55, 30] 

설명 -

위의 예에서는 3에 액세스했습니다.rd색인을 생성하고 새 값 55를 할당한 다음 결과를 인쇄했습니다. 이전 목록은 새 값 55로 업데이트되었습니다.

교체범위() - 다트가 제공하는 교체범위() 주어진 목록 항목 범위 내에서 업데이트하는 데 사용되는 함수입니다. 지정된 범위의 요소 값을 업데이트합니다. 구문은 아래와 같습니다.

구문 -

 list_name.replaceRange(int start_val, int end_val, iterable); 

다음 예를 이해해 봅시다 -

예 -

 void main(){ var list1 = [10,15,20,25,30]; print('List before updation: ${list1}'); list1.replaceRange(0,4,[1,2,3,4]) ; print('List after updation using replaceAll() function : ${list1}'); } 

산출:

 List before updation: [10, 15, 20, 25, 30] List after updation using replaceAll() function : [1, 2, 3, 4, 30] 

설명 -

위의 예에서는 교체범위() 세 가지 인수를 허용하는 목록으로 이동합니다. 시작 인덱스 0을 전달했습니다., 끝 인덱스 4 및 교체할 요소 목록을 세 번째 인수로 사용합니다. 주어진 범위에서 대체된 요소가 포함된 새 목록을 반환했습니다.

목록 요소 제거

Dart는 목록 요소를 제거하기 위해 다음 기능을 제공합니다.

  • 제거하다()
  • 제거()
  • 제거마지막()
  • 제거범위()

제거() 메서드

주어진 목록에서 한 번에 하나의 요소를 제거합니다. 요소를 인수로 허용합니다. 동일한 요소가 여러 개 있는 경우 목록에서 지정된 요소의 첫 번째 항목을 제거합니다. 구문은 아래와 같습니다.

구문 -

 list_name.remove(value) 

다음 예를 이해해 봅시다 -

예 -

 void main(){ var list1 = [10,15,20,25,30]; print('List before remove element : ${list1}'); list1.remove(20) ; print('List after removing element : ${list1}'); } 

산출:

 List before remove element : [10, 15, 20, 25, 30] List after removing element : [10, 15, 25, 30] 

설명 -

위의 예에서는 제거하다() 함수를 목록에 추가하고 값 20을 인수로 전달했습니다. 주어진 목록에서 20개를 제거하고 새로 수정된 목록을 반환했습니다.

RemoveAt() 메서드

지정된 인덱스 위치에서 요소를 제거하고 반환합니다. 구문은 아래와 같습니다.

구문 -

 list_name.removeAt(int index) 

예 -

 void main(){ var list1 = [10,11,12,13,14]; print('List before remove element : ${list1}'); list1.removeAt(3) ; print('List after removing element : ${list1}'); } 

산출:

 List before remove element : [10, 11, 12, 13, 14] List after removing element : [10, 11, 12, 14] 

설명 -

위의 예에서는 3을 통과했습니다.rd인수로 인덱스 위치 제거() 함수를 실행하고 목록에서 요소 13을 제거했습니다.

RemoveLast() 메서드

RemoveLast() 메소드는 주어진 목록에서 마지막 요소를 제거하는 데 사용됩니다. 구문은 아래와 같습니다.

통사론-

 list_name.removeLast() 

다음 예를 이해해 봅시다.

예 -

 void main(){ var list1 = [12,34,65,76,80]; print('List before removing element:${list1}'); list1.removeLast(); print('List after removed element:${list1}'); } 

산출:

 List before removing element:[12, 34, 65, 76, 80] List after removed element:[12, 34, 65, 76] 

위의 예에서는 마지막 요소를 제거하고 반환하는 RemoveLast() 메서드를 호출했습니다. 80 주어진 목록에서.

RemoveRange() 메서드

이 메서드는 지정된 범위 내의 항목을 제거합니다. 두 가지 인수를 허용합니다. 인덱스 시작 그리고 끝 인덱스. 지정된 범위 사이에 있는 모든 요소를 ​​제거합니다. 구문은 아래와 같습니다.

구문 -

 list_name. removeRange(); 

예 -

 void main(){ var list1 = [12,34,65,76,80]; print('List before removing element:${list1}'); list1.removeRange(1,3); print('List after removed element:${list1}'); } 

산출:

 List before removing element:[12, 34, 65, 76, 80] List after removed element:[12, 76, 80] 

설명 -

위의 예에서는 제거범위() 메서드를 실행하고 시작 인덱스 위치 1과 끝 인덱스 위치 3을 인수로 전달했습니다. 지정된 위치 사이에 속한 모든 요소를 ​​제거했습니다.

다트 반복 목록 요소

다트 목록은 다음을 사용하여 반복될 수 있습니다. 각각 방법. 다음 예를 살펴보겠습니다.

예 -

 void main(){ var list1 = ['Smith','Peter','Handscomb','Devansh','Cruise']; print('Iterating the List Element'); list1.forEach((item){ print('${list1.indexOf(item)}: $item'); }); } 

산출:

 Iterating the List Element 0: Smith 1: Peter 2: Handscomb 3: Devansh 4: Cruise 

참고 - Dart 섹션의 루프에서 forEach 메서드를 학습합니다.