-
Pair,Triple 클래스Android 2024. 3. 15. 21:05
두 개 이상의 데이터를 포함하는 값을 리턴하는 클래스가 존재하는데, pair 클래스와 triple 클래스가 있다. 해당 클래스에 매개변수 값을 넣어 객체(인스턴스)를 생성하여 한번에 여러 개의 데이터를 관리할 수 있다.
1. Pair 클래스
명시할 때는 Pair<자료형, 자료형> , 객체를 생성할 때는 Pair(인자,인자) 이런 형태로 불러쓸 수 있다. 이미 정의되어 있는 Pair 클래스를 통해 객체를 생성하고, 그 객체는 2개의 원소를 가지고 있다. 이때, 접근은 first, second 함수를 통해 가능하다. 출력값도 (인자, 인자) 이렇게 나온다.
fun main() { var noodle = Noodle() var noodles = noodle.getnoodle() println("${noodles}") // (너구리, 진라면) println("${noodles.first}, ${noodles.second}") // noodles.first = "너구리" | noodles.second = "진라면" var listNoodles = noodles.toList() // Pair → List 로 변환 println("${listNoodles}") //[너구리, 진라면] println("${listNoodles[0]}, ${listNoodles[1]}") } class Noodle { fun getnoodle() : Pair<String, String> { var noodles = Pair("너구리","진라면") return noodles } }
2. Triple 클래스
fun main() { var yearInfo = YearInfo() var thisYear = yearInfo.getInfo() // Triple 클래스의 객체 println("Triple 클래스의 객체 : ${thisYear}") println("1번 원소 : ${thisYear.first}, 2번 원소 : ${thisYear.second}, 3번 원소 : ${thisYear.third}") var yearList = thisYear.toList() println("List 의 객체 : ${yearList}") println("1번 원소 : ${yearList[0]}, 2번 원소 : ${yearList[1]}, 3번 원소 : ${yearList.get(2)}") // var thisYear2 = YearInfo().getInfo() // YearInfo : 클래스, YearInfo() : 해당 클래스의 객체 } class YearInfo { fun getInfo() : Triple<String,String,Int> { var thisYear = Triple("2024년","3월",16) return thisYear } } /* Triple 클래스의 객체 : (2024년, 3월, 16) 1번 원소 : 2024년, 2번 원소 : 3월, 3번 원소 : 16 List 의 객체 : [2024년, 3월, 16] 1번 원소 : 2024년, 2번 원소 : 3월, 3번 원소 : 16 */
'Android' 카테고리의 다른 글
확장함수 (0) 2024.03.18 Scope Functions (let, with, also, apply, fun) (0) 2024.03.16 자료형변환, 업캐스팅, 다운캐스팅, Is 키워드 (0) 2024.03.15 여러 복합 계산 : 후위연산자, Stack 개념 활용 (0) 2024.03.14 Git 기본 개념 정리 (0) 2024.03.13