Java programming

(22.10.21)Java ํ”„๋กœ๊ทธ๋ž˜๋ฐ Set, HashSet, Autoboxing, Unboxing

ํ”„๋กœ๊ทธ๋ž˜๋จธ ์˜ค์›” 2022. 10. 21.

ArrayList<Integer>์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๋ฌด์ž‘์œ„ ์ •์ˆ˜ (1~20)๋ฅผ 10๊ฐœ๋ฅผ ์ €์žฅํ•œ๋‹ค.

๋‹จ ์ค‘๋ณต๋˜์ง€ ์•Š๋„๋ก 10๊ฐœ๋ฅผ ์ €์žฅํ•œ๋‹ค.

ArrayList๋ฅผ ์ถœ๋ ฅํ•ด ๋ณด๋ผ

 

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
import java.util.ArrayList;
import java.util.Random;
public class ExceptionMain 
{
    public static void main(String[] args) 
    {
        ArrayList<Integer> list = new ArrayList<>();
        Random rd = new Random();
        for(int y=0; ;y++) {
            int i = rd.nextInt(20)+1;
            list.add(y, i);
            for(int z=0;z<y;z++) {
                if(list.get(y)==list.get(z)) {
                    list.remove(y);
                    y--;
                }
            }
            if(list.size()==10) {
                break;
            }
        }
        for(int y =0;y<list.size();y++) {
            System.out.println(list.get(y));
        }
    }
}
cs

์ฝ˜์†” ๊ฐ’:

2

3

8

14

1

20

16

7

11

10

 

๋˜๋‹ค๋ฅธ ๋ฐฉ๋ฒ•

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import java.util.ArrayList;
import java.util.Random;
public class ExceptionMain 
{
    public static void main(String[] args) 
    {
        ArrayList<Integer> list = new ArrayList<>();
        Random rd = new Random();
        while(list.size()<10) {
            int i = rd.nextInt(20)+1;
            if(!list.contains(i)) {
                list.add(i);
            }
        }
        System.out.println(list.toString());
    }
}
cs

์ฝ˜์†” ๊ฐ’:

[6, 20, 16, 13, 8, 17, 11, 2, 3, 15]


์—ฌ๊ธฐ์„œ Integer ๊ฐ์ฒด๋ฅผ ๋„ฃ์–ด์•ผํ•˜๋Š”๋ฐ int๊ฐ’์„ ๋„ฃ์–ด์„œ ๊ฐ’์„ ๊ตฌํ•˜๊ณ  ์žˆ๋‹ค. ์›๋ž˜๋Š” Integer ๊ฐ์ฒด๊ฐ€ ๋“ค์–ด๊ฐ€์•ผํ•œ๋‹ค.

list.add(new Integer(i));

์œ„์™€ ๊ฐ™์€ ๋ฐฉ์‹์€ ์˜ˆ์ „ ๋ฐฉ์‹์ด๋ผ ์š”์ฆ˜์—” ์“ฐ์ด์ง€ ์•Š๊ณ  ์•„๋ž˜ ๋ฐฉ์‹์ฒ˜๋Ÿผ ์“ด๋‹ค

12ํ–‰ ๊ฐœ๋ฐœ์ž ํŽธ์˜๋ฅผ ์œ„ํ•ด์„œ ์ž๋ฐ” ๋‚ด๋ถ€์—์„œ ArrayList์— int๋ฅผ Integer๋กœ ๋ฐ”๊ฟ”์„œ ์ €์žฅํ•œ๋‹ค.

list.add(Integer.valueOf(i));

์˜ˆ์ „๊ฐ™์œผ๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด Integer ๊ฐ์ฒด์— ์ €์žฅ๋œ ๊ฐ’์„ ๋ณ€ํ™”ํ•˜์—ฌ int๋กœ ์ €์žฅํ•˜๋Š” ๊ณผ์ •์ด ํ•„์š”ํ–ˆ๋Š”๋ฐ ์ด์   ์ž๋ฐ” ๋‚ด๋ถ€์—์„œ ์•Œ์•„์„œ ํ•ด์ฃผ๊ฒŒ ๋๊ณ 

Integer temp = list.get(0);
int num = temp.intValue();

์ž๋ฐ”์—์„œ ๊ทธ๋ƒฅ ๋ฐ”๋กœ int๋กœ ์ €์žฅํ• ์ˆ˜ ์žˆ๊ฒŒ ๋๋‹ค.

์ด์ œ ์•„๋ž˜์™€ ๊ฐ™์ด ์‰ฝ๊ฒŒ ์“ธ ์ˆ˜ ์žˆ๋‹ค. ์ด๊ฑธ ์–ธ๋ฐ•์‹ฑ์ด๋ผ ํ•œ๋‹ค.

12ํ–‰ ๊ฐ™์ด .add()์— Integer ๊ฐ’์ด ๋“ค์–ด๊ฐ€์•ผํ•˜๋Š”๋ฐ ๊ทธ๋ƒฅ int ๊ฐ’์ด ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค. ์ž๋ฐ” ๋‚ด๋ถ€์—์„œ AutoBoxing ํ•ด์คฌ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

int itval = list.grt(0); //Unboxing

Wrapper Object

๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ํƒ€์ž… Wrapper Object(๋ž˜ํผ ๊ฐ์ฒด)
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean

Set์€ ์ €์žฅํ•˜๋Š” ์ˆœ์„œ๋Š” ์—†๊ณ  ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š” ์œ„์™€ ๊ฐ™์€ ๊ฑธ ํ‘œํ˜„ํ•  ๋•Œ ์“ธ ์ˆ˜ ์žˆ๋‹ค.

์ฃผ๋กœ ์‚ฌ์šฉํ•˜๋Š” Set์€ HashSet์ด ์žˆ๋‹ค.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import java.util.HashSet;
import java.util.Iterator;
public class ExceptionMain 
{
    public static void main(String[] args) 
    {
        HashSet<String> hset = new HashSet<>();
        hset.add("๋ฏผ์ง€");
        hset.add("ํ•ด๋ฆฐ");
        hset.add("ํ˜œ์ธ");
        hset.add("๋‹ค๋‹ˆ์—˜");
        hset.add("ํ•˜๋‹ˆ");
        hset.add("ํ˜œ์ธ");
        System.out.println(hset);
        
        Iterator<String> iter =  hset.iterator();
        while(iter.hasNext()) {
            String item = iter.next();
            System.out.println(item);
        }
    }
}
cs

์ฝ˜์†”๊ฐ’:

[๋‹ค๋‹ˆ์—˜, ๋ฏผ์ง€, ํ•ด๋ฆฐ, ํ˜œ์ธ, ํ•˜๋‹ˆ]
๋‹ค๋‹ˆ์—˜
๋ฏผ์ง€
ํ•ด๋ฆฐ
ํ˜œ์ธ
ํ•˜๋‹ˆ

 

์œ„์™€ ๊ฐ™์ด ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๊ณ (ํ˜œ์ธ์ด ๋‘๋ฒˆ ์ €์žฅํ•ด์ค˜๋„ 1๋ฒˆ๋งŒ ์ถœ๋ ฅ๋จ) ์ถœ๋ ฅ์‹œ์—๋„ ์ˆœ์„œ๋ฅผ ์ง€์ผœ์ฃผ์ง„ ์•Š๋Š”๋‹ค.

Set ์ˆœ์„œ๊ฐ€ ์—†์–ด์„œ ๋ฃจํ”„๋ฅผ ๋Œ๋ฆฌ์ง€ ๋ชปํ•˜๊ธฐ๋•Œ๋ฌธ์—, Iterator ๋ฐ˜๋ณต์ž๋ฅผ ํ†ตํ•ด์„œ ๊ฐ’์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค. ์ˆœ์„œ๋ฅผ ์ง€์ผœ์ฃผ์ง„ ์•Š๋Š”๋‹ค. 


๋งจ์œ„ ๋ฌธ์ œ๋ฅผ Set์„ ์ด์šฉํ•˜์—ฌ ์ฝ”๋”ฉ์„ ํ•œ๋‹ค๋ฉด

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import java.util.HashSet;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Random;
public class ExceptionMain 
{
    public static void main(String[] args) 
    {
        HashSet<Integer> list = new HashSet<>();
        Random rd = new Random();
        while(list.size()<10) {
            int i = rd.nextInt(20)+1;
            list.add(i);
        }
        ArrayList<Integer> arlist = new ArrayList<>(list);
        Collections.sort(arlist);
        System.out.println(arlist);
    }
}
cs

์ฝ˜์†” ๊ฐ’: 

[2, 3, 5, 6, 7, 8, 9, 12, 14, 15]

 

๋Œ“๊ธ€