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