배열(Arrays)
어떤 특정한 자료형에 대해 그 자료형을 모아놓은 자료구조
int[] price = {10000, 9000, 40000, 7000};
String[] mbti = {"INFP", "ENFP", "ISTJ", "ESTP"};
System.out.println(price[0]); // 10000
System.out.println(mbti[0]); // INFP
대괄호 [ ] 앞의 int나 String은 뒤에 올 변수에 들어가는 자료형을 지정해준다. 변수를 선언할 때 작성했던 타입의 자료열로만 구성된 배열을 선언한다. 변수에 들어있는 값을 꺼내고 싶다면 호출하고 싶은 값의 인덱스를 대괄호에 넣어준다.
배열 인덱스의 값을 임의의 값을 수정하는 방법은 간단하다.
price[1] = 8000
System.out.println(price[1]); // 8000
값을 가져온 뒤, 대입 연산자를 통해 값을 새롭게 대입하면 기존의 값에 덮어씌워진다.
배열을 확인하고 싶다고 아래처럼 직접 배열의 변수를 함수에 전달하면 아마 이상한 값이 나올 것이다.
System.out.println(price);
변수 역시 객체이기 때문에 값 자체를 드러내지 않고 주소값이 나온다.
for 반복문을 통한 배열의 조작
int[] price = {10000, 9000, 40000, 7000};
String[] mbti = {"INFP", "ENFP", "ISTJ", "ESTP"};
for (int i = 0; i < mbti.length; i++) {
System.out.println(mbti[i]);
}
for 문에 초기화식, 조건식, 증감식을 써준다. length 함수는 배열의 크기를 구해준다. 결과를 출력하려면 배열의 이름과 변수를 써주면 된다.
리스트(Lists)
순서를 구분하고 중복을 허용하는 자료구조
리스트의 종류에는 Vector, ArrayList, LinkedList가 있다. 그 중 가장 대중적으로 많이 쓰이는 ArrayList에 대해 알아보자.
ArrayList는 배열보다 폭넓은 메서드, 각종 확장된 기능을 제공한다.
ArrayList list = new ArrayList(10);
list.add(100);
list.add("INFP");
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
ArrayList라는 객체 자료형을 선언한 뒤, 변수와 new 연산자를 사용하여 인자로 길이를 정해준다. add 메서드는 타입을 지정하지 않아도 리스트에 추가할 수 있다. 데이터 타입을 제한하고 싶다면 ArrayList 뒤에 꺽쇠< >에 제한하고 싶은 자료형의 객체타입(Integer, String 등)을 쓰면 된다. 자료형을 제한할 때는 기본형 데이터(int 등)를 쓸 수 없다.
맵(Map)
키-값 쌍을 요소로 가지는 데이터의 모음
맵은 순서를 구분하지 않는다. 키는 중복이 불가능하고, 값은 중복이 가능하다.
맵에도 여러가지 종류가 있지만 가장 많이 쓰이는 HashMap에 대해 알아보자.
HashMap<String, String> map = new HashMap();
map.put("age", "30");
map.put("mbti", "INFP");
System.out.println(map.get("age"));
HashMap은 선언한 뒤, 인자를 넣지 않아도 된다. put 메서드로 키-값을 넣는다.
결과를 출력할 때는 리스트와 똑같이 get 메서드를 사용하는데 인덱스 값이 아닌 키를 넣어야 그에 대응되는 값을 출력한다. 데이터 타입을 제한하고 싶다면 리스트와 마찬가지로 꺽쇠를 이용하여 객체타입을 지정해주면 된다.
'Back-End > Java' 카테고리의 다른 글
회원가입 프로그램 실습 - 자바(Java) 편 (1) | 2023.05.16 |
---|---|
함수 (0) | 2023.05.15 |
제어문 - 조건문과 반복문 (0) | 2023.05.11 |
연산자 (0) | 2023.05.10 |
콘솔 입출력 (0) | 2023.05.09 |