반응형

*이차원 배열의 사용법


배열은 1차원적이다.

 

int[ ] a = new int [ ] {1,2,3,4,5,6,7};

4바이트 int형 변수가 7개 나열된다.(28바이트) 직선과도 같다.

 

2차원 배열은 직선을 면으로 바꾸는 것과 같다.

 

int[ ] ar1 = new int[][]{{1,2},{3,4}};

이차원 배열

public class FreeTest {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int[][] ar = new int[][]{{1,2},{3,4}};
        
		for(int i =0; i <ar.length; i++) {
			for(int j=0; j< ar[i].length; j++) {
				System.out.println(ar[i][j]);
			}
		}
	}
}

이차원 배열을 꺼내는 방법은 위와 같다. ar.length 상위 배열이 2개(세로) ar[i].length하위 배열이 2개(가로) 요소를 가진다. 배열의 값은 a[i][j] 값으로 출력이 가능하다.

 

* ArrayList 클래스 사용법

자바의 배열은 new를 사용하여 생성하므로 중간에 배열의 크기를 늘려야 할때는 코드를 다시 쓰고 컴파일 해야 합니다. ArrayList 클래스를 사용하면 좀 더 유연하게 쓸 수 있습니다. ArrayList 경우 기본으로 배치되는 클래스가 아니기 때문에 java.util.ArrayList 로 import를 해줘야 합니다.

 

새로운 API를 알고 싶으면 그때마다 javadoc을 찾아보는 것을 추천합니다. API가 워낙 많아서 다 외우는 사람은 없을 겁니다.

 

https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html

 

ArrayList (Java Platform SE 8 )

Resizable-array implementation of the List interface. Implements all optional list operations, and permits all elements, including null. In addition to implementing the List interface, this class provides methods to manipulate the size of the array that is

docs.oracle.com

 

결론적으로 편하다. ArrayList 에서 add로 추가를 할 수 있다.

import java.util.ArrayList;

public class FreeTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		ArrayList<Employee> al1 = new ArrayList<Employee>();
		
		al1.add(new Employee("채영훈",30));
		al1.add(new Employee("감윤후",25));
		al1.add(new Employee("송리나",22));

		for(int i=0; i< al1.size(); i++) {
			Employee ep1 = al1.get(i);
			ep1.showInfo();
		}
		System.out.println();
		System.out.println("");
	}
}
class Employee{
	private String name;
	private int age;
	Employee() {}
	Employee(String name, int age){
		this.name = name;
		this.age = age;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public void showInfo() {
		System.out.println(this.name +" : "+this.age);
		System.out.println();
	}
}

결과는 위와 같다.

728x90

공유하기

facebook twitter kakaoTalk kakaostory naver band

본문과 관련 있는 내용으로 댓글을 남겨주시면 감사하겠습니다.

비밀글모드