리스트 프로그래밍(List Programming) – 1. 리스트

Copyright (c) 2015-, All Rights Reserved by Kwanghoon Choi
(아래 자바 프로그래밍 강의 교재의 내용을 자유롭게 이용하되 다른 웹 사이트 등을 통한 배포를 금합니다.)

1. 리스트

리스트란 동일한 타입의 값들을 나열한 것이다. 비어있는 리스트(널 리스트)는 []로 표현하고, 몇 개의 정수들을 포함하는 리스트는 [1,2,3,4,5]와 같이 표현한다. 문자열을 원소로 갖는 리스트의 예는 ["Playing", "with", "Java"]가 있다.

서로 다른 타입의 원소를 갖는 리스트(예를 들어, [1,2,"playing",3,"with",4,"java",5])를 만들지 못할바는 아니지만 일반적으로 리스트의 원소들은 모두 동일한 타입을 갖음을 가정한다.

사실 원소를 포함하는 리스트 [1,2,3,4,5]는 쌍(Pair)을 간략하게 표현한 것으로 생각할 수 있다. 그리고 쌍으로 리스트를 표현할 때는 널 리스트 []를 ()로 표현하기도 한다.

[1,2,3,4,5]  <===> (1, (2, (3, (4, (5, ())))))

리스트는 배열과 달리 그 크기를 미리 정하지 않고 가변적인 크기를 유지하는 장점이 있다.

리스트의 길이는 원소의 수로 정의한다. []의 길이는 0, [1,2,3,4,5]의 길이는 5이다.

리스트에 흔히 적용할 수 있는 연산들로 리스트의 모든 원소의 합을 구하는 sum, 두 리스트를 하나의 리스트로 붙이는 concat, 리스트의 원소들이 나열된 순서를 반대로 뒤집는 reverse 등이 있다.

예를 들어, sum( [1,2,3,4,5] )는 15이고, concat([1,2,3], [4,5])는 [1,2,3,4,5]이며, reverse( [1,2,3,4,5] )는 [5,4,3,2,1]이다.

 

Leave a Reply

Your email address will not be published. Required fields are marked *