GIT
Merge
- 병합하고자하는 브렌치를 현재 브렌치에 병합해 새로운 커밋을 만들어내는 작업
- 명령어 :
git merge [브렌치명]
실습1 (병합)
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"
실습2 (병합 충돌)
git init
touch 0 && git add . && git commit -m "C0"
git checkout -b bugFix
echo '안녕' > 1 && git add . && git commit -m "C1"
4.1. 파일의 내용을 안녕
으로 설정 후 커밋
git checkout main
echo '잘가' > 1 && git add . && git commit -m "C2"
6.1. 파일의 내용을 잘가
으로 설정 후 커밋
git merge bugFix
7.1. 충돌발생
, 자동병합에 실패
7.2. 개발자가 직접 병합해야 함.
echo '안녕잘가' > 1
8.1. 충돌수습
git add .
git commit -m "C3, 병합"
10.1. 병합커밋
자바
스트림
- 컬렉션에 저장된 값들을 하나씩 순회하면서 처리하는 방식
- 람다식으로 사용되어 코드가 매우 간결해진다.
.stream(sc.nextLine().split(" ")
- 스트림 객체 생성 및
split
으로 나눈 값들을 순차적으로 순회한다.
.mapToLong(e -> Long.parseLong(e))
- 스트림을
LongStream
으로 변환해주는 메서드
.sum()
import java.util.Arrays;
import java.util.Scanner;
7931
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
long sum = Arrays.stream(sc.nextLine().split(" "))
.mapToLong(e -> Long.parseLong(e))
.sum();
System.out.println(sum);
sc.close();
}
}
실습1 ( -1을 입력할때까지 값을 계속 입력받는 프로그램, 마지막은 정렬)
- 올바른 수를 입력하면
list
에 계속해서 담는다.
-1
을 입력하면 무한루프 탈출
list.stream()
: list
값을 하나씩 순회
.sorted()
: 오름차순 정렬
.map(e -> "" + e)
: 값을 맵핑
.collect(Collectors.joining(", "))
: 순회하는 값 사이에 “, “
를 추가
import java.util.*;
import java.util.stream.Collectors;
public class Problem59_1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
StringBuilder sb = new StringBuilder();
int num = 0;
int k = 0;
List<Integer> list = new ArrayList<>();
while (true) {
System.out.print("숫자를 입력해주세요(-1 : 종료) : ");
num = sc.nextInt();
if (num == -1) {
break;
}
list.add(num);
k++;
}
System.out.println("입력을 종료합니다.");
System.out.print("입력한 숫자(오름차순) : ");
String str = list.stream()
.sorted()
.map(e -> "" + e)
.collect(Collectors.joining(", "));
System.out.println(str);
System.out.println("프로그램을 종료합니다.");
}
}
실습2 (HashMap을 이용한 정보 저장)
map
의 value
값으로 들어가는 타입이 다양하므로 Object
타입으로 설정
import java.util.HashMap;
import java.util.Map;
public class Problem63_1 {
public static void main(String[] args) {
Map<String, Object> map1 = new HashMap<>();
Map<String, Object> map2 = new HashMap<>();
map1.put("이름", "홍길동");
map1.put("나이", 22);
map1.put("키", 170.5);
map2.put("이름", "홍길순");
map2.put("나이", 25);
map2.put("키", 162.4);
System.out.println(map1);
System.out.println(map2);
}
}
실습3 (내가 생성한 객체 정렬)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class Problem63_2 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
List<Device> list = new ArrayList<>();
int n = Integer.parseInt(br.readLine());
for (int i = 0; i < n; i++) {
st = new StringTokenizer(br.readLine());
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
list.add(new Device(a, b));
}
Collections.sort(list, new Comparator<Device>() {
@Override
public int compare(Device o1, Device o2) {
return o1.id - o2.id;
}
});
for (Device device : list) {
System.out.println(device.id + " " + device.gas);
}
}
public static class Device {
int id;
int gas;
public Device(int id, int gas) {
this.id = id;
this.gas = gas;
}
}
}
실습4 (List,HashMap 활용)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class Problem63_3 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
List<Integer> list1 = new ArrayList<>();
List<Integer> list2 = new ArrayList<>();
Map<Integer, Integer> map = new HashMap<>();
int N = Integer.parseInt(br.readLine());
StringTokenizer st = new StringTokenizer(br.readLine());
for (int i = 0; i < N; i++) {
int num = Integer.parseInt(st.nextToken());
list1.add(num);
list2.add(num);
}
Collections.sort(list1);
for (int i = 0; i < N; i++) {
map.put(list1.get(i), i);
}
for (int i = 0; i < N; i++) {
sb.append(map.get(list2.get(i)) + " ");
}
System.out.println(sb);
}
}
기타
for (String name : map.keySet()) {
int age = map.get(name);
if(age == 20) {
System.out.println(name);
}
}