F #-변경 가능한 목록

그만큼 List<'T> class는 인덱스로 액세스 할 수있는 강력한 형식의 개체 목록을 나타냅니다.

List 클래스의 변경 가능한 대응 요소입니다. 인덱스로 액세스 할 수 있다는 점에서 배열과 유사하지만 배열과 달리 목록의 크기를 조정할 수 있습니다. 따라서 선언 중에 크기를 지정할 필요가 없습니다.

변경 가능한 목록 만들기

목록은 new키워드 및 목록의 생성자를 호출합니다. 다음 예제는 이것을 보여줍니다-

(* Creating a List *)
open System.Collections.Generic

let booksList = new List<string>()
booksList.Add("Gone with the Wind")
booksList.Add("Atlas Shrugged")
booksList.Add("Fountainhead")
booksList.Add("Thornbirds")
booksList.Add("Rebecca")
booksList.Add("Narnia")

booksList |> Seq.iteri (fun index item -> printfn "%i: %s" index booksList.[index])

프로그램을 컴파일하고 실행하면 다음과 같은 출력이 생성됩니다.

0: Gone with the Wind
1: Atlas Shrugged
2: Fountainhead
3: Thornbirds
4: Rebecca
5: Narnia

List (T) 클래스

List (T) 클래스는 인덱스로 액세스 할 수있는 강력한 형식의 개체 목록을 나타냅니다. 목록을 검색, 정렬 및 조작하는 방법을 제공합니다.

다음 표는 List (T) 클래스의 속성, 생성자 및 메서드를 제공합니다.

속성

특성 기술
생산 능력 내부 데이터 구조가 크기를 조정하지 않고 보유 할 수있는 총 요소 수를 가져 오거나 설정합니다.
카운트 List (T)에 포함 된 요소의 수를 가져옵니다.
안건 지정된 인덱스의 요소를 가져 오거나 설정합니다.

생성자

건설자 기술
리스트 (T) () 비어 있고 기본 초기 용량이있는 List (T) 클래스의 새 인스턴스를 초기화합니다.
목록 (T) (IEnumerable (T)) 지정된 컬렉션에서 복사 된 요소를 포함하고 복사 된 요소 수를 수용하기에 충분한 용량이있는 List (T) 클래스의 새 인스턴스를 초기화합니다.
목록 (T) (Int32) 비어 있고 지정된 초기 용량이있는 List (T) 클래스의 새 인스턴스를 초기화합니다.

방법

행동 양식 기술
더하다 List (T) 끝에 개체를 추가합니다.
AddRange 지정된 컬렉션의 요소를 List (T) 끝에 추가합니다.
AsReadOnly 현재 컬렉션에 대한 읽기 전용 IList (T) 래퍼를 반환합니다.
BinarySearch (T) 기본 비교자를 사용하여 정렬 된 전체 List (T)에서 요소를 검색하고 요소의 0부터 시작하는 인덱스를 반환합니다.
BinarySearch (T, IComparer (T)) 지정된 비교자를 사용하여 정렬 된 전체 List (T)에서 요소를 검색하고 요소의 인덱스 (0부터 시작)를 반환합니다.
바이너리 검색 (Int32, Int32, T, IComparer (T)) 지정된 비교자를 사용하여 정렬 된 List (T)의 요소 범위에서 요소를 검색하고 요소의 0부터 시작하는 인덱스를 반환합니다.
맑은 List (T)에서 모든 요소를 ​​제거합니다.
포함 요소가 List (T)에 있는지 여부를 확인합니다.
ConvertAll (T 출력) 현재 List (T)의 요소를 다른 형식으로 변환하고 변환 된 요소가 포함 된 목록을 반환합니다.
복사 대상 (T []) 대상 배열의 시작 부분부터 전체 List (T)를 호환되는 1 차원 배열에 복사합니다.
CopyTo (T [], Int32) 대상 배열의 지정된 인덱스에서 시작하여 전체 List (T)를 호환 가능한 1 차원 배열에 복사합니다.
CopyTo (Int32, T [], Int32, Int32) 대상 배열의 지정된 인덱스에서 시작하여 List (T)의 요소 범위를 호환 가능한 1 차원 배열에 복사합니다.
Equals (객체) 지정된 개체가 현재 개체와 같은지 여부를 확인합니다. (Object에서 상 속됨)
존재 List (T)에 지정된 조건 자에 정의 된 조건과 일치하는 요소가 있는지 여부를 확인합니다.
마무리 가비지 수집에 의해 회수되기 전에 개체가 리소스를 해제하고 다른 정리 작업을 수행 할 수 있도록합니다 (Object에서 상 속됨).
찾기 지정된 술어로 정의 된 조건과 일치하는 요소를 검색하고 전체 List (T) 내에서 첫 번째 항목을 리턴합니다.
모두 찾기 지정된 술어로 정의 된 조건과 일치하는 모든 요소를 ​​검색합니다.
FindIndex (술어 (T)) 지정된 조건 자에 정의 된 조건과 일치하는 요소를 검색하고 전체 List (T) 내에서 첫 번째 항목의 인덱스 (0부터 시작)를 반환합니다.
FindIndex (Int32, 술어 (T)) 지정된 조건 자에 정의 된 조건과 일치하는 요소를 검색하고 지정된 인덱스에서 마지막 요소까지 확장되는 List (T)의 요소 범위 내에서 첫 번째 항목의 0부터 시작하는 인덱스를 반환합니다.
FindIndex (Int32, Int32, 술어 (T)) 지정된 조건 자에 정의 된 조건과 일치하는 요소를 검색하고 지정된 인덱스에서 시작하고 지정된 수의 요소를 포함하는 List (T)의 요소 범위 내에서 첫 번째 항목의 인덱스 (0부터 시작)를 반환합니다.
찾기 마지막 지정된 조건 자에 정의 된 조건과 일치하는 요소를 검색하고 전체 List (T) 내에서 마지막 항목을 반환합니다.
FindLastIndex (술어 (T)) 지정된 조건 자에 정의 된 조건과 일치하는 요소를 검색하고 전체 List (T) 내에서 마지막으로 발생한 인덱스 (0부터 시작)를 반환합니다.
FindLastIndex (Int32, 술어 (T)) 지정된 조건 자에 정의 된 조건과 일치하는 요소를 검색하고 첫 번째 요소에서 지정된 인덱스까지 확장되는 List (T)의 요소 범위 내에서 마지막 항목의 0부터 시작하는 인덱스를 반환합니다.
FindLastIndex (Int32, Int32, 술어 (T)) 지정된 조건 자에 정의 된 조건과 일치하는 요소를 검색하고 지정된 수의 요소를 포함하고 지정된 인덱스에서 끝나는 List (T)의 요소 범위 내에서 마지막으로 발생하는 인덱스 (0부터 시작)를 반환합니다.
각각 List (T)의 각 요소에 대해 지정된 작업을 수행합니다.
GetEnumerator List (T)를 반복하는 열거자를 반환합니다.
GetHashCode 기본 해시 함수 역할을합니다. (Object에서 상 속됨)
GetRange 소스 List (T)에있는 요소 범위의 단순 복사본을 만듭니다.
GetType 현재 인스턴스의 Type을 가져옵니다. (Object에서 상 속됨)
IndexOf (T) 지정된 개체를 검색하고 전체 List (T) 내에서 처음 나타나는 인덱스 (0부터 시작)를 반환합니다.
IndexOf (T, Int32) 지정된 개체를 검색하고 지정된 인덱스에서 마지막 요소까지 확장되는 List (T)의 요소 범위 내에서 첫 번째 항목의 0부터 시작하는 인덱스를 반환합니다.
IndexOf (T, Int32, Int32) 지정된 개체를 검색하고 지정된 인덱스에서 시작하고 지정된 수의 요소를 포함하는 List (T)의 요소 범위 내에서 첫 번째 항목의 0부터 시작하는 인덱스를 반환합니다.
끼워 넣다 지정된 인덱스의 List (T)에 요소를 삽입합니다.
InsertRange 컬렉션의 요소를 지정된 인덱스의 List (T)에 삽입합니다.
LastIndexOf (T) 지정된 개체를 검색하고 전체 List (T) 내에서 마지막으로 발생한 인덱스 (0부터 시작)를 반환합니다.
LastIndexOf (T, Int32) 지정된 개체를 검색하고 첫 번째 요소에서 지정된 인덱스까지 확장되는 List (T)의 요소 범위 내에서 마지막으로 발생한 인덱스 (0부터 시작)를 반환합니다.
LastIndexOf (T, Int32, Int32) 지정된 개체를 검색하고 지정된 수의 요소를 포함하고 지정된 인덱스에서 끝나는 List (T)의 요소 범위 내에서 마지막으로 발견 된 인덱스 (0부터 시작)를 반환합니다.
MemberwiseClone 현재 Object의 단순 복사본을 만듭니다. (Object에서 상 속됨)
없애다 List (T)에서 특정 개체의 첫 번째 항목을 제거합니다.
모두 제거 지정된 술어로 정의 된 조건과 일치하는 모든 요소를 ​​제거합니다.
RemoveAt List (T)의 지정된 인덱스에서 요소를 제거합니다.
RemoveRange List (T)에서 요소 범위를 제거합니다.
역전() 전체 List (T)에서 요소의 순서를 반대로합니다.
역방향 (Int32, Int32) 지정된 범위에서 요소의 순서를 반대로합니다.
종류() 기본 비교자를 사용하여 전체 List (T)의 요소를 정렬합니다.
정렬 (비교 (T)) 지정된 System을 사용하여 전체 List (T)의 요소를 정렬합니다. 비교 (T).
정렬 (IComparer (T)) 지정된 비교자를 사용하여 전체 List (T)의 요소를 정렬합니다.
정렬 (Int32, Int32, IComparer (T)) 지정된 비교자를 사용하여 List (T)의 요소 범위에있는 요소를 정렬합니다.
ToArray List (T)의 요소를 새 배열에 복사합니다.
ToString 현재 개체를 나타내는 문자열을 반환합니다. (Object에서 상 속됨)
TrimExcess 목록 (T)의 요소 수가 임계 값보다 작 으면 용량을 실제 요소 수로 설정합니다.
TrueForAll List (T)의 모든 요소가 지정된 조건 자에 정의 된 조건과 일치하는지 여부를 확인합니다.

(* Creating a List *)
open System.Collections.Generic

let booksList = new List<string>()
booksList.Add("Gone with the Wind")
booksList.Add("Atlas Shrugged")
booksList.Add("Fountainhead")
booksList.Add("Thornbirds")
booksList.Add("Rebecca")
booksList.Add("Narnia")

printfn"Total %d books" booksList.Count
booksList |> Seq.iteri (fun index item -> printfn "%i: %s" index booksList.[index])
booksList.Insert(2, "Roots")

printfn("after inserting at index 2")
printfn"Total %d books" booksList.Count

booksList |> Seq.iteri (fun index item -> printfn "%i: %s" index booksList.[index])
booksList.RemoveAt(3)

printfn("after removing from index 3")
printfn"Total %d books" booksList.Count

booksList |> Seq.iteri (fun index item -> printfn "%i: %s" index booksList.[index])

프로그램을 컴파일하고 실행하면 다음과 같은 출력이 생성됩니다.

Total 6 books
0: Gone with the Wind
1: Atlas Shrugged
2: Fountainhead
3: Thornbirds
4: Rebecca
5: Narnia
after inserting at index 2
Total 7 books
0: Gone with the Wind
1: Atlas Shrugged
2: Roots
3: Fountainhead
4: Thornbirds
5: Rebecca
6: Narnia
after removing from index 3
Total 6 books
0: Gone with the Wind
1: Atlas Shrugged
2: Roots
3: Thornbirds
4: Rebecca
5: Narnia