-
자바 step12 - UtilClass(ArrayList 객체)Java 2022. 11. 7. 18:39
java 에서 배열은 크기를 조절할수 없는 고정 배열이다.
따라서 동적으로 item 을 추가하고 삭제하고 하는 작업을 하려면 일반배열은 사용할수 없다.
그래서 해당 작업을 하려면 ArrayList 객체를 사용하면 된다.package test.main; import java.util.ArrayList; /* * java 에서 배열은 크기를 조절할수 없는 고정 배열이다. * * 따라서 동적으로 item 을 추가하고 삭제하고 하는 작업을 하려면 일반배열은 사용할수 없다. * * 그래서 해당 작업을 하려면 ArrayList 객체를 사용하면 된다. */ public class MainClass01 { public static void main(String[] args) { // String type 을 저장할수 있는 ArrayList 객체생성 ArrayList<String> names=new ArrayList<String>(); // "김구라" , "해골", "원숭이" 3개의 String type 을 저장해 보세요. names.add("김구라"); names.add("해골"); names.add("원숭이"); //0 번방의 아이템을 불러와서 item 이라는 변수에 담아보세요 String item=names.get(0); //1 번방의 아이템을 삭제 하려면? names.remove(1); //0 번방에 "에이콘" 을 넣고 싶으면? names.set(0, "에이콘"); //저장된 아이템의 갯수(size) 를 size 라는 지역 변수에 담아 보세요. int size=names.size(); System.out.println(names + " " + size); //저장된 모든 아이템 전체 삭제 names.clear(); } } <console> [에이콘, 원숭이] 2
ArrayList<Strintg> <> 안에 String type을 선언하였으므로 안에 저장되는 type은 String type만 가능하다.
앞서 배운 제네릭(Generic) class 를 사용한 것이다.
add() 메소드로 특정 문자열을 저장한 뒤에 그것을 호출할 수 있다.
또한 배열이므로 숫서가 존재하기 때문에 인덱싱을 사용해 삭제, 추가도 가능하다.
응용 문제 1)
ArrayList 객체에 친구 이름 5 개를 담고 반복문 돌면서 친구 이름을 다음과 같은 형식으로 출력해보세요.
* 0 번째 친구 : 김구라
* 1 번째 친구 : 해골
* 2 번째 친구 : 원숭이package test.main; import java.util.ArrayList; public class MainClass02 { public static void main(String[] args) { /* * ArrayList 객체에 * * 친구 이름 5 개를 담고 * * 반복문 돌면서 친구 이름을 다음과 같은 형식으로 출력해보세요. * * 0 번째 친구 : 김구라 * 1 번째 친구 : 해골 * 2 번째 친구 : 원숭이 */ ArrayList<String> names=new ArrayList<String>(); names.add("김구라"); names.add("해골"); names.add("원숭이"); names.add("주뎅이"); names.add("덩어리"); System.out.println(names); // names 의 size 만큼 반복문 돌면서 for(int i=0; i<names.size(); i++) { // i 번째 방에 저장된 친구 이름 참조 String tmp=names.get(i); System.out.println(i + " 번째 친구 : "+tmp); } } } <console> [김구라, 해골, 원숭이, 주뎅이, 덩어리] 0 번째 친구 : 김구라 1 번째 친구 : 해골 2 번째 친구 : 원숭이 3 번째 친구 : 주뎅이 4 번째 친구 : 덩어리
ArrayList 객체를 String type으로 생성하여 그 안에 문자열을 저장했다. 단순히 저장한 뒤에 콘솔창에 호출하면 List 형식으로 나오게 되는데 위와 같은 문제를 풀려면 for문을 돌려 하나씩 빼서 출력해주어야 된다.
'Java' 카테고리의 다른 글
자바 step12 - UtilClass(ArrayList 객체) - 3 (0) 2022.11.08 자바 step12 - UtilClass(ArrayList 객체) - 2 (0) 2022.11.08 자바 step11 - GenericClass (0) 2022.11.07 자바 step10 - interface(@FunctionalInterface) 함수 모양으로 사용할 인터페이스에 붙이는 어노테이션 (0) 2022.11.06 자바 step10 - interface(자바의 람다함수, override) (0) 2022.11.06