본문 바로가기
Java

[Java] ArrayList

by 엘딘 2022. 4. 7.

Dto를 이용하여 ArrayList 값구하기(Dto는 밑에)

 

ArrayList: 배열처럼 사용할 수 있는 목록

             검색 속도가 우수

 

ArrayList<Integer> arrList = new ArrayList<Integer>();		// 타입 설정
ArrayList<Integer> arrList = new ArrayList<>(5);		// 초기

ArrayList<String> color = new Arraylist<>();

// 1.
    color.add("green");			//[0] 바로 추가
// 2.
    String in = new String("blue");		//[1] in 인스턴스 거친 후 추가
    color.add(in);
// 3.
    color.add(new String("red"));		//[2] 인스턴스 안거치고 바로 추가

    System.out.println(color);

// 4.
    color.set(0, "yellow");		// 특정 위치에 변경 green > yellow

    System.out.println(color);

    for (int i = 0; i < color.size(); i++) {		// /*목록 나열*/ 
        System.out.println(i + "번째 색깔 : " + color.get(i));
    }


// 원하는 위치에 추가
    color.add(1, "purple");
    System.out.println(color);


// 삭제
    String delete = color.remove(2);
    System.out.println(delete);
    System.out.println(color);

    for(String n : color){
        System.out.println(n);
    }


// 검색
    String index = color.indexOf("red")
    System.out.println(index);



// Dto사용
List<MyClass> list = new ArrayList<MyClass>();

// 추가
    MyClass cls = new MyClass(1,"홍길동", 171.1);
    list.add(cls);

    cls = new MyClass(2, "성춘향", 161.3);
    list.add(cls);

    list.add(new MyClass(3, "홍두께", 183.2));

    for (int i = 0; i < list.size(); i++) {
        MyClass my = list.get(i);			
        System.out.println(my.toString());		// MyClass의 toString()출력
        //my.toString();						// System.out.println(my.toString)과 같은 값 출력
    }

	cls = new MyClass(4, "일지매", 178.5);		// 추가 삽입
    list.add(2, cls);
    for (int i = 0; i < list.size(); i++) {
        MyClass my = list.get(i);			
        my.toString();
    }

// 삭제
    MyClass removeDto = list.remove(3);
    removeDto.toString();

    for (MyClass my : list) {			// MyClass의 toString()을 갖고오는
        my.toString();					// toString()은 출력해주는 메소드ㄴ
    }

    System.out.println();

// 검색
    String name = "성춘향";

    int findIndex = -1;
    for(int i=0; i<list.size(); i++) {
        MyClass my = list.get(i);
        if(name.equals(my.getName())) {
            findIndex = i;
            break;
        }
    }
    System.out.println(findIndex);
    list.get(findIndex).toString();
		
// 수정	
    MyClass obj = list.get(0);
    obj.setHeight(180.3);

    for (MyClass my : list) {
        my.toString();
    }

    MyClass mcls = new MyClass(5, "정수동", 169.5);
    list.set(2, mcls);

    for (MyClass my : list) {
        my.toString();
    }
    
    
=======================================================
[green, blue, red]
[yellow, blue, red]
0번째 : yellow
1번째 : blue
2번째 : red
[yellow, purple, blue, red]
blue
[yellow, purple, red]
yellow
purple
red
2
61번줄 > 1 홍길동 171.1
        2 성춘향 161.3
        3 홍두께 183.2
69번줄 > 1 홍길동 171.1
        2 성춘향 161.3
        4 일지매 178.5
        3 홍두께 183.2
74번줄 > 3 홍두께 183.2
77번줄 > 1 홍길동 171.1
        2 성춘향 161.3
        4 일지매 178.5
93번줄 > 1
94번줄 > 2 성춘향 161.3
101번줄 > 1 홍길동 180.3
        2 성춘향 161.3
        4 일지매 178.5
108번줄 > 1 홍길동 180.3
        2 성춘향 161.3
        5 정수동 169.5

 

 

Dto
public class MyClass {
	private int number;
	private String name;
	private double height;
	
	public MyClass() {		
	}

	public MyClass(int number, String name, double height) {
		super();
		this.number = number;
		this.name = name;
		this.height = height;
	}

	public int getNumber() {
		return number;
	}

	public void setNumber(int number) {
		this.number = number;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public double getHeight() {
		return height;
	}

	public void setHeight(double height) {
		this.height = height;
	}

	@Override
	public String toString() {
	//	return "MyClass [number=" + number + ", name=" + name + ", height=" + height + "]";
		System.out.println(number +" "+ name +" "+ height);
		return "";
	}
	
}
public class YouClass {
	private String address;
	
	public YouClass() {
		
	}
}

 

 

 

 

'Java' 카테고리의 다른 글

[Java] Casting  (0) 2022.04.10
[Java] Break  (0) 2022.04.08
[Android] 숫자 찾기 게임  (0) 2022.04.06
[Java] 배열  (0) 2022.02.11
[Java] 첫번째  (0) 2022.02.03

댓글