List기본

박은빈·2022년 10월 5일
0

자바

목록 보기
6/25

Collection

데이터들의 집합, 그룹을 의미한다

크게 List, Set, Map이 존재한다

  • List : 순서가 정해져있는 저장공간
  • Set : 집합적인 저장공간
  • Map : 키와 값으로 이루어진 저장공간

List란

우리는 지금까지 관계가 있는 데이터들을 모아서 저장하고싶을때 배열을 사용했다

하지만 배열은 길이가 고정되어있다. 그래서 데이터를 저장하는 양이 정해져있다

List는 배열과 비슷하게 데이터들을 순서대로 모아서 저장을 할 수있다

하지만 배열과 다르게 List는 정해진 크기가 없다. 즉 데이터를 계속 집어넣을수 있다

선언

List는 상속을 이용해 자식 클래스를 가지는데

LinkedList, Stack, Vector, ArrayList이다

하지만 여기서 ArrayList를 제일 많이쓰니깐 일단 그것만 알아보자

List<자료형> 이름 = new ArrayList<>();
List<String> ArrayListTest = new ArrayList<>();

보면 알겠지만 List도 데이터 형식에 의존하지 않고 그때마다 형식을 바꿔줄수있는 제네릭(Generic)이다

이렇게 List를 생성하면 배열처럼 값을 추가, 제거할수있다

하지만 배열과 사용법이 다르고 다른 기능들이 더 존재한다

값 추가

ArrayListTest.add("안녕하세요");
ArrayListTest.add("감사합니다");

add명령어는 List에 값을 집어넣는다.

List는 스택처럼 하나하나 차곡차곡 쌓이기때문에

안녕하세요가 0번, 감사합니다가 1번이다

값 확인

System.out.println(ArrayListTest.get(0));
//안녕하세요

get명령어를 이용해 해당 위치에 있는 데이터를 출력할수있다

List크기 확인

System.out.println(ArrayListTest.size());
//2

size()명령어를 이용해 리스트의 크기를 확인할 수 있다

값이 들어있는지 확인

System.out.println(ArrayListTest.contains("안녕하세요"));
System.out.println(ArrayListTest.contains("안녕"));
//true
//false

contains명령어를 이용해 List에 해당 데이터가 들어가있는지 확인할 수 있다

boolean형태의 true false로 출력된다

값 삭제

ArrayListTest.remove("안녕하세요");
ArrayListTest.remove(0);
//true
//감사합니다

remove는 값을 삭제하는 명령어이다.

만약 값을 입력했는데 해당 값이 List에 있으면 그 값을 List에서 삭제하고 true,false를 반환한다

혹은 위치를 넣으면 해당 위치에 있는 값을 삭제하고 삭제한 값을 출력해준다

위에 코드에서는 “안녕하세요”가 제거되었기때문에 “감사합니다”가 0번으로 오게되고

감사합니다를 삭제한다음에 감사합니다가 출력되었다

profile
안녕하세요

0개의 댓글