# java cheet sheet
# filter map collect
List<Integer> ilist = new ArrayList<>();
int s = 0;
for (int i=1;i<=10;i++) ilist.add(i);
//stream filter map collect
ilist = ilist.stream()
.filter(i->i%2==1) // 조건에 맞는 수 찾기
.map(i->i*i) // 찾은 수 처리하기
.collect(Collectors.toList()); // 해당 수의 값을 새로운 리스트에 저장
ilist.forEach(i->System.out.printf(i+ "\t"));
System.out.println();
s=ilist.stream().reduce(0, Integer::sum);
System.out.println("1~10 사이의 홀수에 대한 제곱합" + s);
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
# stream
List<Integer> ilist = new ArrayList<>();
int s=0;
for(int i=1;i<=100;i++) ilist.add(i);
// stream.reduce(accumulator) : stream의 요소를 하나의 데이터로 만듦.
// 초기값을 0으로하여 1과 100 사이 정수의 합을 구한다.
s=ilist.stream().reduce(0, Integer::sum);
System.out.println("1~100의 합 " + s);
// 1~100 사이 홀수의 합
s=ilist.stream().filter(i->i%2==1).reduce(0, Integer::sum);
System.out.println("1~100 사이 홀수의 합 " + s);
s=ilist.stream().filter(i->i%2==1).reduce(0, (x,y)->x+y);
System.out.println("1~100 사이 홀수의 합 " + s);
s=ilist.stream().filter(i->i%2==1).reduce(0,
new BinaryOperator<Integer>() {
@Override
public Integer apply(Integer t, Integer u){
return t+u;
}
});
System.out.println("1~100 사이 홀수의 합 " + s);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# enum
public class enumtest {
public enum PEI {
PHYSICAL(23), EMOTIONAL(28), INTELLECTUAL(33);
private final int peiValue;
PEI(int pie){
this.peiValue=pie;
}
public int getPei(){
return peiValue;
}
}
public static String textInFor(PEI index, double value){
String result = "";
switch (index) {
case PHYSICAL : result = "신체지수" ; break;
case EMOTIONAL : result = "감정지수"; break;
case INTELLECTUAL : result = "지성지수"; break;
default : result = "미결정"; break;
}
return result + (value*100);
}
public static void main(String[] args){
PEI index = PEI.PHYSICAL;
double value =0.86;
System.out.println("신체지수수기값 " + index.getPei());
String st = textInFor(index, value);
System.out.println("st " + st);
System.out.println("ordinal "+index.ordinal()); // 순서출력, 0번째이다.
System.out.println("index name " + index.name());
System.out.println("index " + index);
System.out.println("index getPei "+index.getPei());
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# lambda
List<Integer> mmlists = Arrays.asList(1,6,16,22,23,33);
mmlists.forEach(
m-> {System.out.println(m+"\t");}
);
System.out.println();
Consumer<Integer> consume = (Integer m) -> {System.out.println(m+"\t");};
mmlists.forEach(consume);
1
2
3
4
5
6
7
2
3
4
5
6
7