| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 | 31 |
- Queue
- 자료구조
- 아두이노
- 우송대
- kotlin
- List
- 상태 호이스팅
- 재정의함수
- Kotlin LinkedList
- State Hoisting
- LinkedList
- 라즈베리파이 피코
- 컴포즈
- 스택
- 안드로이드
- Stack
- Class
- 리컴포지션
- 코틀린
- kotlinClass
- 추상화함수
- Kotlin자료구조
- 우송대학교
- deque
- 개발 보드
- Android
- Compoae
- 클래스
- PICO4
- 큐
- Today
- Total
개발자의 생활
[ Kotlin ] 자료구조_LinkedList 본문
이번에는 이전에 올린 배열 ArrayList에 이어서 LinkedList를 소개하겠습니다.
C언어 자료구조 이중 연결 리스트
이번에는 자료구조 중 연결리스트를 c언어로 구현해 보겠습니다.연결리스트는 여러 방식이 있습니다. 하나씩 그림으로 알아보겠습니다. 1. 단일 연결리스트이 방식은 가장 단순하면서 구현하기
han-studio.tistory.com
LinkedList 도 C언어로 구현하는 글을 올렸습니다. 원리나 방식은 위 글에서 확인 해 주세요.
사실 Koltin 에서는 LinkedList를 제공하지 않습니다. 하지만 Java에서 구현되어 있는 LinkedList를
Koltin 도 JVM으로 컴파일하게 되면 Java와 동일한 JavaByteCode로 만들어지게 되니 Java에서 있는 모든 클래스, 메서드 등을 사용할 수 있습니다.
Kotlin 자료구조[배열]
자료구조_배열[ C언어 ]배열은 모든 언어에서 기본으로 제공되는 자료구조입니다.배열은 동일한 타입의 데이터를 연속적으로 순서대로 나열시킵니다.그럼 배열의 특징을 먼저 알아보겠습니다.
han-studio.tistory.com
그래서 LinkedList 의 사용방법은 위 블로그에 올린 ArrayList에
이전 글을 우려먹는 느낌이 없지 않아 있지만 실제로 구조와 사용방법이 동일하기 때문에 LinkedList 사용법을 한번더 작성하면 동일한 글이 됩니다. ***귀찮아서 그런것이 절대 아닙니다!...***
하지만 LinkedList와 List, MutableList의 관계를 설명드리겠습니다.
LinkedList 와 List, MutableList 관계
LinkedList은 Java에 있는 java.util.List <T> 인터페이스를 상속받아서 구현하고 있지만 Kotlin의 List, MutableList는 Kotlin 자체의 kotlin.collections.List 에 있는 인터페이스를 상속받고 있습니다.
즉 각각의 인터페이스 이름은 List 로 동일하지만 연관이 없다는 것입니다. 그런데 신기하게도 Java의 LinkedList과 Kotlin의 List, MutableList 은 서로 호환이 가능합니다.
어떻게 다르 인터페이스를 상속받아서 오버라이딩 하고 있는데 이들의 다형성이 유지되는것 일까요?
이유는 Kotlin 컴파일러의 "타입 매핑" 덕분 입니다.
Kotlin 코드가 컴파일되면 Kotlin의 List 가 아닌 Java의 List를 상속받는 코드로 변환이 되기 때문입니다.
이상으로 Kotlin에서의 LinkedList에 대해 알아보았습니다.
부족한 글을 읽어주셔서 감사드립니다.
'자료구조 > Kotlin' 카테고리의 다른 글
| [ Kotlin ] 자료구조_배열 (0) | 2025.10.01 |
|---|