-
참조자료형 - 리스트(List)백엔드/자바 2020. 7. 24. 18:12
1. 리스트란?
배열(Array)과 비슷한 자바의 참조 자료형으로 배열보다 편리하다.
배열은 선언 할 때 미리 크기를 지정하고 지정된 크기 한도 내에서만 자료 추가가 가능하다.
하지만 리스트는 메모리가 허용하는 한도 내에서 자동으로 자료 추가 가능하다.
2. 리스트의 선언
리스트를 선언은 다음과 같다.
"ArrayList + <자료형> + 리스트명 = new ArrayList + <자료형> + ( ) "의 형태로 해준다.
자료형의 경우 넣지 않아도 되고 넣지 않을 경우 리스트에 다양한 자료형이 추가 가능하다.
import java.util.ArrayList; public class Basic_07_24_03 { public static void main(String[] args) { ArrayList<String> school = new ArrayList<String>(); // Arraylist<자료형> + 리스트명 = new ArrayList<자료형>(); // 리스트에 들어가는 자료형을 꼭 써야한다. // import를 보면 알겠지만, 따로 List를 임포트해줘야 한다. } }
단, LinkedList도 존재하는데 이건 나중에 다루도록 할 예정이다.
3. 리스트의 추가
리스트는 간단하다. 리스트를 선언한 후에 다음과 같이 하면 된다.
"리스트명 + add + ( 넣고싶은 값 )"의 형태로 한다.
넣고 싶은 값은 위에서 list를 선언할 때 쓴 자료형으로만 사용해야 한다.
단, 자료형을 따로 입력하지 않은 경우 다양한 값을 넣을 수도 있다.
package Basic_07_24; import java.util.ArrayList; public class Basic_07_24_03 { public static void main(String[] args) { ArrayList<String> school = new ArrayList<String>(); school.add("초등학교"); school.add("중학교"); school.add("고등학교"); } }
4. 리스트의 요소 값 얻기
각 리스트의 요소 값를 얻으려면 get메서드를 통해 얻을 수 있다.
" 리스트명 + . + get ( 인덱스넘버 ) "와 같은 형식으로 얻어낼 수 있다.
package Basic_07_24; import java.util.ArrayList; public class Basic_07_24_03 { public static void main(String[] args) { ArrayList<String> school = new ArrayList<String>(); school.add("초등학교"); school.add("중학교"); school.add("고등학교"); System.out.println(school.get(0)); // "초등학교" 출력 System.out.println(school.get(1)); // "중학교" 출력 System.out.println(school.get(2)); // "고등학교" 출력 } }
5. 리스트의 개수 구하기
리스트의 개수를 구하기 위해서는 size함수를 쓴다.
" 리스트명 + . + size + ( ) "의 형식으로 쓰면 된다.
package Basic_07_24; import java.util.ArrayList; public class Basic_07_24_03 { public static void main(String[] args) { ArrayList<String> school = new ArrayList<String>(); school.add("초등학교"); school.add("중학교"); school.add("고등학교"); System.out.println(school.size()); // 3 출력 } }
6. 리스트 내에 내용 확인
리스트 내에 어떤 요소가 있는지 확인하려면 contains함수를 쓴다.
" 리스트명 + . + contains + ( ) "의 형식으로 쓰면 된다.
만약 리스트 내에 찾고 싶은 요소가 있으면 True, 아니면 False가 나옵니다.
package Basic_07_24; import java.util.ArrayList; public class Basic_07_24_03 { public static void main(String[] args) { ArrayList<String> school = new ArrayList<String>(); school.add("초등학교"); school.add("중학교"); school.add("고등학교"); System.out.println(school.contains("중학교")); // True 출력 } }
7. 리스트 내 요소 삭제하기
remove함수를 쓰면 리스트 내에 있는 요소를 골라서 삭제할 수 있다.
remove 함수는 인덱스 넘버를 통해서 삭제하거나 값 자체를 입력해서 삭제하는 두 가지 방법이 있다.
" 리스트 명 + remove + ( index넘버 ) " / " 리스트 명 + remove + ( 리스트 요소값 ) " 형식으로 쓴다.
인덱스 넘버로 지우면 인덱스 넘버에 맞는 요소를 리스트 내에서 삭제하고 그 요소를 return 해준다.
요소 값으로 지우면 해당 요소를 지우고 True값을 return 해준다.
만약 삭제하는 요소가 리스트에 없으면 False를 return해준다.
package Basic_07_24; import java.util.ArrayList; public class Basic_07_24_03 { public static void main(String[] args) { ArrayList<String> school = new ArrayList<String>(); school.add("초등학교"); school.add("중학교"); school.add("고등학교"); System.out.println(school.remove(1)); System.out.println(school.remove("고등학교")); } }
'백엔드 > 자바' 카테고리의 다른 글
자바(java)의 정의와 특징 (0) 2020.07.26 참조 자료형 - 배열(array) (0) 2020.07.26 참조자료형 - 스트링(String) (0) 2020.07.25 자바의 자료형 - 기본 자료형 (0) 2020.07.21 자바(java) 메인 메소드(main method)의 의미 (0) 2020.07.21