반응형
// List 생성하기
List list = new ArrayList();
// 형 지정하여 생성하기
List<Integer> list = new ArrayList<>();
// List에 자료 넣기
list.add(new Integer(10));
list.add(10); //자동박싱
// List에 값 끼워넣기
list.add(2, 20); //2번째 인덱스자리부터 뒤로 밀고 20을 추가한다.
// List 값 출력하기
System.out.println(list.add(20)) //true //결과 반환 : boolean
System.out.println(list) //[10, 10, 20, 20] ->toString 메서드가 재정의 되어있기에 출력 가능
// set(index, value) : index자리에 값을 value로 교체하고 int before을 추가하여 기존값을 반환
list.set(2, 40);
System.out.println(list) // [10, 10, 40, 20]
int before = list.set(0, 40); // 기존값을 반환 : 10 //[40, 10, 40, 20]
// remove(index) : index자리 값을 지우고 boolean을 추가하면 성공 여부를 true/false로 반환.
list.remove(3);
System.out.println(list) // [40, 10, 40]
List는 배열의 형태를 받는 컬렉션 프레임워크. 형을 정해주면 혼돈이 없어 좋고, 추가할 때 자동박싱이 되어서 편하다.
.add(value) : 값 추가
.add(index, value) : index 자리에 값 끼워넣기
.set(index, value) : 값 바꾸기
.remove(index) : 값 삭제
.get(index) : 값 받기, 출력가능
반환값이 있다.
.add는 boolean(true/false)형태로,
.remove는 .add와 같이 boolean(true/false)형태로,
.set은 int before = 을 이용하여 이전 값을 반환한다.
// 리스트 차례로 삭제하기 ( for문 돌리기 )
System.out.println(list2); [50, 40, 10, 20, 20]
평소 하던대로 해보면,
for(int i=0; i <list2.size(); i++{
list2.remove(i);
System.out.println(list2);
}
//[40, 10, 20, 20] //0번째 제거
//[40, 20, 20] //1번째 제거
//[40, 20] // 2번째 제거 ....> 제대로 지우지 못함.
리스트는 거꾸로 뒤에서부터 지워야 한다.
for(int i = list2.size()-1; i >= 0; i--){
list2.remove(i);
System.out.println(list2);
}
[50, 40, 10, 20] //4번째 제거
[50, 40, 10] //3번째 제거
[50, 40] //2번째 제거
[50] //1번째 제거
[] //0번째 제거 ....> 제거 성공!
반응형
'내가 보려고 정리하는 > JAVA' 카테고리의 다른 글
Thread(쓰레드)를 이용한 가위, 바위, 보 게임 (0) | 2022.12.27 |
---|---|
처음 보는 것들... + 조금씩 추가될 예정...! (0) | 2022.12.27 |
로또를 뽑아보자! (0) | 2022.12.20 |
아니, 인터페이스는 <Set>도 있잖아! (0) | 2022.12.20 |
그럼....<Map>은? (0) | 2022.12.16 |