본문 바로가기

프로젝트 & TIL/일별 공부 기록 (백엔드 스쿨)

7일차 - 깃 병합과 자바(컬렉션 프레임워크(리스트, 맵))

Git Merge(복습)

git init
touch 0 && git add . && git commit -m "C0"
touch 1 && git add . && git commit -m "C1"
git checkout -b bugFix
touch 2 && git add . && git commit -m "C2"
git checkout main
touch 3 && git add . && git commit -m "C3"
git merge bugFix -m "C4"

  • 파일에 내용 넣어서 만들기 : echo '내용' > 파일명
  • 내용 이어서 추가하기 : echo '내용' >> 파일명
  • 내용 보기 : cat 파일명

merge 중 파일이 충돌할 때

git init
touch 0 && git add . && git commit -m "C0"
git checkout -b bugFix
echo 'hi' > 1 && git add . && git commit -m "C1"
git checkout main
echo 'hello' > 1 && git add . && git commit -m "C2"
git merge bugFix  // 충돌 발생

echo 'hihello' > 1  // 내용 변경
git add . && git commit -m "C3"
git log --oneline --graph --all


입출력 문제1

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int[] arr = new int[10];
        int num = 0;
        while(true){
            System.out.print("숫자를 입력해주세요(-1 : 종료) : ");
            int input = sc.nextInt();
            if(input == -1) break;
            arr[num++] = input;
        }
        System.out.println("입력을 종료합니다.");
        sc.close();

        for(int i=num-1; i>=0; i--){
            for(int j=0; j<num-1; j++){
                if(arr[j] > arr[j+1]){
                    int temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }
        }
        
        System.out.print("입력한 숫자(오름차순) : ");
        for(int i=0; i<num-1; i++){
            System.out.print(arr[i]+", ");
        }
        System.out.print(arr[num-1]+"\n");
        System.out.println("프로그램을 종료합니다.");
    }
}

버블 정렬하여 출력

  

import java.util.Arrays;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int[] arr = new int[10];
        int num = 0;
        while(true){
            System.out.print("숫자를 입력해주세요(-1 : 종료) : ");
            int input = sc.nextInt();
            if(input == -1) break;
            arr[num++] = input;
        }
        System.out.println("입력을 종료합니다.");
        sc.close();

        Arrays.sort(arr);

        System.out.print("입력한 숫자(오름차순) : ");
        for(int i=0; i<arr.length-1; i++){
            if(arr[i] != 0)
                System.out.print(arr[i]+", ");
        }
        System.out.print(arr[arr.length-1]);
        System.out.println("\n프로그램을 종료합니다.");
    }
}

Arrays.sort()하여 출력


리스트

import java.util.*;

public class Main {
    public static void main(String[] args) {
        List<Integer> al = new ArrayList<>();
        al.add(10);
        al.add(20);
        al.add(30);
        System.out.println(al.get(0) + al.get(1) + al.get(2));  //60
        System.out.println(al.size());  //3
    }
}

리스트를 이용한 입출력 문제1

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        List<Integer> arr = new ArrayList<>();
        while(true){
            System.out.print("숫자를 입력해주세요(-1 : 종료) : ");
            int input = sc.nextInt();
            if(input == -1) break;
            arr.add(input);
        }
        System.out.println("입력을 종료합니다.");
        sc.close();
        
        Collections.sort(arr);
        
        System.out.print("입력한 숫자(오름차순) : ");
        for(int i=0; i<arr.size(); i++){
            System.out.print(arr.get(i)+" ");
        }
        System.out.println("\n프로그램을 종료합니다.");
    }
}

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

StringBuilder 이용하여 출력


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

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

stream 이용하여 출력



해시맵

import java.util.HashMap;

public class Main {
    public static void main(String[] args) {
        HashMap<String, Integer> map = new HashMap<>();
        map.put("A", 10);
        map.put("B", 20);
        map.put("C", 30);
        System.out.println(map.get("A")+map.get("B")+map.get("C"));  //60
    }
}

import java.util.HashMap;

public class Main {
    public static void main(String[] args) {
        HashMap<String, Object> p1 = new HashMap<>(){{
            put("이름", "유리");
            put("나이", 30);
            put("키", 163.5);
        }};
        System.out.println(p1.get("이름")+", "+p1.get("나이")+", "+p1.get("키"));
    }
}

바로 초기화할 때는 {{ }}


** 리스트 정렬하기

Collections.sort(al, (e2, e1) -> {
            // return e2 > e1 ? 1 : -1; // 오름차순 정렬
            // return e2 > e1 ? -1 : 1; // 내림차순 정렬
            // return e2 - e1; // 오름차순 정렬
            return e1 - e2; // 내림차순 정렬
        });