일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 이클립스데이터베이스연결
- 스프링게시판만들기
- dataSource설정
- double-submit
- 이클립스db연결
- 게시판만들기
- insert 중복방지
- 스프링게시판insert
- HTML
- 전자정부프레임워크 double-submit
- 한글깨짐해결방법
- 저장할때한글깨짐
- 톰캣시작페이지설정
- 스프링게시판상세보기
- Could not create the java Virtual Machine
- url설정
- 톰캣9.0다운로드
- 스프링프로젝트
- mysqlinsert한글깨짐
- Java
- 게시판상세보기
- oracle
- 스프링게시판등록
- 게시판목록조회
- 게시판insert
- 자바스크립트
- mybatis연결
- insert할글깨짐
- 스프링게시판목록조회
- 컨트롤러url
- Today
- Total
하루의 일상💜
[JAVA] ArrayList 추가, 변경, 삭제 본문
■ ArrayList를 사용하여 정렬된 객체들을 추가, 변경, 삭제를 한다.
public class ArrayListTest {
public static void main(String[] args) {
ArrayList<Integer> datas= new ArrayList<Integer>();
datas.add(10);
datas.add(90);
datas.add(40);
datas.add(20);
datas.add(80);
datas.add(70);
datas.add(50);
// System.out.println(datas);
// 오름차순으로 정렬
Collections.sort(datas);
System.out.println(datas);
// 내림차순으로 정렬
Collections.reverse(datas);
System.out.println(datas);
// 랜덤으로 정렬
Collections.shuffle(datas);
System.out.println(datas);
// 추가
// 50뒤에 500을 추가
if(datas.contains(50)) {
datas.add(datas.indexOf(50)+1,500);
System.out.println(datas);
}
// 수정
// 90을 9로 수정
if(datas.contains(90)) {
try {
System.out.println(datas.set(datas.indexOf(90), 9)+"이 9로 변경");
System.out.println(datas);
}catch(IndexOutOfBoundsException e) {
System.out.println("인덱스범위 벗어남");
}
// 삭제
// 80삭제
// 인덱스로 삭제
if(datas.contains(80)) {
System.out.println(datas.remove(datas.indexOf(80)) + "삭제됨");
System.out.println(datas);
}
// 값으로 삭제
if(datas.remove(Integer.valueOf(80))) {
System.out.println("삭제 성공");
System.out.println(datas);
}
}
}
}
ArrayList로 7index를 갖는 값을 무작위로 설정하였다.
[10, 90, 40, 20, 80, 70, 50]
[10, 20, 40, 50, 70, 80, 90]
[90, 80, 70, 50, 40, 20, 10]
[10, 80, 40, 70, 90, 50, 20]
[10, 80, 40, 70, 90, 50, 500, 20]
90이 9로 변경
[10, 80, 40, 70, 9, 50, 500, 20]
80삭제됨
[10, 40, 70, 9, 50, 500, 20]
기본 설정된 datas를 출력하게 되면 순서에 상관없이 출력이 된다.
이를 정렬하는 방법에는 여러가지가 있다.
● sort() : 오름차순으로 정렬
● reverse() : 반대로 내림차순으로 만드는 메서드는 없기 때문에 가운데 기준점으로 앞뒤를 바꿔주는 메서드를 사용해야 한다, ※ 가운데를 기준으로 바꾸기 때문에 오름차순을 쓰로 내림차순을 써야한다.
● shuffle() : 무작위로 출력한다.
추가 / 50뒤에 500을 추가한다.
add()
shuffle() 을 사용한 상태여서 datas의 값은 계속 변경 될 것이다.
그렇기 때문에 먼저 50의 위치를 찾은 다음 뒤에 500을 넣어 주도록 한다.
add(0,null) 은 저장된 위치(index)에 객체를 저장하는 메소드이다.
50뒤에 500을 추가 할 것이기 때문에 위치에 +1을 해준다음 500을 넣어준다.
수정 / 90을 9로 수정
set()
똑같이 index의 위치를 찾아준 다음 set() 메서드를 사용해 9로 변경해주었지만 set의 리턴타입이 Integer로 대체하기 이전의 값이 리턴이 될 것이다 . 그렇기 때문에 이 것을 try catch를 사용하여야 한다.
삭제 / 80삭제 각 인덱스, 값으로 삭제
remove()
삭제할 객체의 index값을 찾아준 다음 remove()를 사용하여 삭제를 해준다. 리턴타입이 지워진 값을 그대로 리턴하기 때문에 try catch를 사용하지 않아도 된다.
하지만 값으로 삭제할 경우엔 삭제할 값을 입력하여도 인덱스 값으로 인식하게 된다.
그렇기 때문에 integer의 static 메서드인 valueOf 메서드를 사용하여 Integer로 바꿔야 80이 값으로 인식한다.
'JAVA > 실습' 카테고리의 다른 글
[JAVA] 거스름돈 계산하는 자판기 만들기 (0) | 2022.07.25 |
---|---|
[메서드] 떡잎마을 방범대 인물 검색하기 (0) | 2022.07.24 |
[반복문] 반복문을 이용한 간단한 문제 (0) | 2022.07.24 |