2/28(화) 자바 콜렌션 프레임워크 - 자료구조

정민지·2023년 2월 28일
0
post-thumbnail

1. 복습

https://wiken.io/ken/12019


폴더생성

bash 열기

git init

git status

git log

git commit -m "m1"

아직 안됨

touch 1

파일생성

git status

git commit -m "m1"

아직 안됨

git add .

git status

git commit -m "m1"

커밋 생성

git status

git log

rm 1

파일 1 삭제

touch 2

파일 2 생성

git add .

git status

git commit -m "m1"

커밋 생성

git status

git log

git log --oneline -n 2g

2. Array 배열로 입력받은 숫자 오름차순 정렬

package org.example;
import java.util.*;

class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int[] num=new int[5];
        int i=0;

        System.out.printf("숫자를 입력해주세요: ");
        int tmp=sc.nextInt();
        System.out.println(tmp);

        while(tmp!=-1){
            num[i]=tmp;
            i++;
            System.out.printf("숫자를 입력해주세요: ");
            tmp=sc.nextInt();
        }

        // 대기, 숫자 하나 입력될 때 까지

        System.out.println("입력을 종료합니다.");
        Arrays.sort(num);
        System.out.println("입력한 숫자(오름차순): "+ Arrays.toString(num));

        sc.close();
    }
}


반복문에서 넘기고 싶은 조건은 continue;

  1. ArrayList

출력 방법:
1. stream()

String numbers.stream().sorted().map(e->""+e).collection(Collectors.joining(", "));

=>마지막에 쉼표 기준으로 묶음

  1. StringBuilder 이용

    sb = new StringBuilder();
    
           for (int number : numbers) {
               if (sb.isEmpty() == false) {
                   sb.append(", ");
               }
    
               sb.append(number);
           }
    
           System.out.printf("입력한 숫자(오름차순) : %s\n", sb);
           System.out.println("프로그램을 종료합니다.");

class Sol5 {

public void run() {
    Scanner sc = new Scanner(System.in);

    List<Integer> numbers = new ArrayList<>();

    while (true) {
        System.out.printf("숫자를 입력해주세요(-1 : 종료) : ");
        int num = sc.nextInt();

        if (num == -1) {
            System.out.println("입력을 종료합니다.");
            break;
        }

        numbers.add(num);
    }

    String str = numbers
            .stream()
            .sorted()
            .map(e -> "" + e)
            .collect(Collectors.joining(", "));

    System.out.printf("입력한 숫자(오름차순) : %s\n", str);
    System.out.println("프로그램을 종료합니다.");

    sc.close();
}

}

ages.remove(1) -> 1번째 값 제거
List에서 데이터를 가져오려면 어떤 값이 몇번째인지 외워야됌
ages.get(0)
=>**hash map**을 활용-> 키와 value 타입 설정
맵에 담는것보다 클래스에 담는게 나음
정보를 잠시 담을땐 맵을 쓰기도 함

HashMap<String,Integer> agesMap=new HashMap<>();
agesMap.put("철수", 20);
agesMap.put(25);
agesMap.put(20);

![](https://velog.velcdn.com/images/mg4098/post/6bea7174-8bf2-4088-bdda-6a0eae3980f0/image.png)
=>태어나자마자 데이터 3개 들어있는 맵 태어남

![](https://velog.velcdn.com/images/mg4098/post/ad8310ad-55ff-4bda-a354-461bd967f147/image.png)
![](https://velog.velcdn.com/images/mg4098/post/56c300b9-528c-463e-969c-55bcc82a8b67/image.png)
![](https://velog.velcdn.com/images/mg4098/post/303c0eb5-9cc1-4fec-ad3d-5a8292ed9b55/image.png)

![](https://velog.velcdn.com/images/mg4098/post/c94c75d4-ce71-4822-9bc3-7feeb1528dce/image.png)
![](https://velog.velcdn.com/images/mg4098/post/04e9705d-9c07-45a5-ba4f-35de6f6606b6/image.png)

import java.util.HashMap;
import java.util.Map;

class Main {
public static void main(String[] args) {
// new Sol1().run();
// new Sol2().run();
new Sol3().run();
}
}

class Sol3 {
public void run() {
Map<String, Object> p1 = new HashMap<>() {{
put("이름", "홍길동");
put("나이", 22);
put("키", 170.5);
}};

    Map<String, Object> p2 = new HashMap<>() {{
        put("이름", "홍길순");
        put("나이", 25);
        put("키", 162.4);
    }};

    String p1Name = (String) p1.get("이름");
    int p1Age = (int) p1.get("나이");
    double p1Height = (double) p1.get("키");

    String p2Name = (String) p2.get("이름");
    int p2Age = (int) p2.get("나이");
    double p2Height = (double) p2.get("키");

    System.out.printf("%s, %d, %.1f\n", p1Name, p1Age, p1Height);
    System.out.printf("%s, %d, %.1f\n", p2Name, p2Age, p2Height);
}

}


List는 모든 타입을 다 담을수 있음 , map도
profile
꾸준히 성장하는 개발자

0개의 댓글