자바의 기존 어레이(배열) 에서는
정해진 데이터의 갯수 이상으로는
데이터 추가가 불가능 했기에
어레이리스트 라이브러리가 만들어졌다
객체생성
ArrayList nameList = new ArrayList();
기존의 생성 방법에서는 이렇게 만들었지만
어레이리스트에는
사용할 데이터의 타입을 아래와 같이 적어줘야 한다
ArrayList<String> nameList = new ArrayList<String>();
데이터 추가 CRUD - Create
nameList.add("홍길동");
nameList.add("김나나");
nameList.add("씹던껌");
nameList.add("Andrew");
.add( )를 사용하여 추가한다
데이터 액세스 CRUD - Read
System.out.println(nameList.get(0));
System.out.println(nameList.get(1));
System.out.println(nameList.get(2));
System.out.println(nameList.get(3));
하나하나 가져오고 싶다면
리스트의 .get(인덱스번호)
를 사용하여 가져오면 되겠다
그렇다면 전체를 가져오려면?
for(int i = 0; i < nameList.size() ; i++) {
System.out.println( nameList.get(i) );
}
for 반복문으로 가져오는데
이때는 Length가 아니라 Size로 해서 가져오면 되겠다
for - each 반복문
for( String name : nameList ) {
System.out.println(name);
}
for ( 타입 변수 : 배열 ){
수행할 작업
}
으로 작업하면 되겠다
데이터 수정 CRUD Update
nameList.set(0, "김길동");
System.out.println(nameList.get(0));
.set(인덱스번호, "바꿀내용")
으로 하면 되겠다
데이터 삭제 CRUD Delete
nameList.remove(1);
for( String name : nameList ) {
System.out.println(name);
}
nameList.remove("김길동");
for( String name : nameList ) {
System.out.println(name);
}
.remove()
를 사용하며 인덱스 번호를 넣거나
지우고 싶은 데이터를 넣으면 지울수 있다
nameList.removeAll(nameList);
nameList.clear();
모두 지우고 싶다면
.removeALL(변수명)
혹은
.clear()
를 사용하면 되겠다
데이터가 비어있는지 확인하는 함수
if (nameList.isEmpty()){
System.out.println(" 비어있음 ");
}else {
System.out.println("데이터가 있다");
}
if 조건문과
.isEmpty()
를 이용하여 비어있는지 아닌지를 확인이 가능하다
응용편
이름과 전화번호가 기록이 된 리스트
ArrayList<Person> PersonList = new ArrayList<Person>();
Person p = new Person("홍길동", "010-1234-5678");
PersonList.add(p);
p = new Person("김나나", "010-1111-2222");
PersonList.add(p);
p = new Person("Andrew", "010-3333-4444");
PersonList.add(p);
주소록의 모든 사람의 이름과 전호번호를 가져오자
위에서의 방법으로는
for(int i = 0; i < PersonList.size() ; i++) {
System.out.println( PersonList.get(i) );
라고 생각하기 쉽다
하지만 이번엔 객체에 Name과 Phone이라는 속성으로 따로 저장이 되었기 때문에
for (int i = 0; i < PersonList.size(); i++) {
Person person = PersonList.get(i);
System.out.println(person.getName() + " : " + person.getPhone());
}
혹은
for ( Person Person : PersonList ) {
System.out.println(Person.getName() + " : " + Person.getPhone());
}
이렇게 person 이라는 변수로 가져온 다음
그것의 이름과 전화번호를 하나 하나 따로 따로 가져오거나
for-each반복문을 사용하여 위와같이 이름과 전화번호를 따로가져와야한다
홍길동의 전화번호를 바꿔보자
Person person = PersonList.get(0);
person.setPhone("010-9999-8888");
바꾸는것도 위와 동일하다
우선 .get을 통해 가져온 뒤 변수로 저장
그리고 그 가져온 변수를 .setPhone을 이용해 변경해주면 되겠다
'Java > JAVA' 카테고리의 다른 글
Java - NullPointerException (0) | 2024.06.04 |
---|---|
Java - HashMap CRUD (0) | 2024.06.04 |
Java - 문자열 관련 함수 (0) | 2024.06.03 |
Java - 문자열을 숫자로, 숫자를 문자열로 변환 (0) | 2024.06.03 |
Java - 문자열, 정수 및 실수를 클래스로 생성하는 법 (0) | 2024.06.03 |