๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โญ Personal_Study/Java

๋ฐฐ์—ด(Array) & ๋ฆฌ์ŠคํŠธ(List)

by ํฌ์ŠคํŠธ์‰์ดํฌ 2022. 12. 17.

๋ฐฐ์—ด(Array) & ๋ฆฌ์ŠคํŠธ(List)

๋ฐฐ์—ด(Array)

๊ณ ์ •๋œ ๊ธธ์ด

String[] abc = new String[3]

abc[0] = "a";
abc[1] = "b";
abc[2] = "c";

๋ฐฐ์—ด์€ ๊ธธ์ด๋ฅผ ์„ค์ •ํ•ด์•ผ ํ•œ๋‹ค.

๋ฐฐ์—ด์˜ ๊ธธ์ด๋ฅผ ๋จผ์ € ์„ค์ •ํ•˜์—ฌ ๋ฐฐ์—ด ๋ณ€์ˆ˜๋ฅผ ์ƒ์„ฑํ•œ ๋‹ค์Œ ๊ฐ’์„ ๋‚˜์ค‘์— ๋Œ€์ž…

๋ฆฌ์ŠคํŠธ (ArrayList)

ํฌ๊ธฐ๊ฐ€ ๊ณ ์ •๋˜์–ด์žˆ์ง€ ์•Š๊ณ  ๋™์ ์œผ๋กœ ๋ณ€ํ•œ๋‹ค!!

List์—๋Š” ArrayList, Vector, LinkedList ๋“ฑ ์กด์žฌ

add

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

    numbers.add(123);
    numbers.add(456);
    numbers.add(789);

    numbers.add(0, 000);

get

ArrayList<Number> arr = new ArrayList<>();

arr.add(1);
arr.add(2);
arr.add(3);
arr.add(4);

System.out.println(arr.get(2)); // 3

size

ArrayList<Number> arr = new ArrayList<>();

arr.add(1);
arr.add(2);
arr.add(3);
arr.add(4);

System.out.println(arr.size()); // 4

contains

ArrayList<Number> arr = new ArrayList<>();

arr.add(1);
arr.add(2);
arr.add(3);
arr.add(4);

System.out.println(arr.contains(3)); // true
System.out.println(arr.contains(5)); // false

remove

ArrayList<String> arr = new ArrayList<>();

arr.add("1");
arr.add("2");
arr.add("3");
arr.add("4");

System.out.println(arr.remove("3")); // true
System.out.println(arr.remove(3)); // 4

remove(๊ฐ์ฒด) -> ์‚ญ์ œ ๊ฒฐ๊ณผ(true/false) ๋ฐ˜ํ™˜
remove(index) -> ์‚ญ์ œ๋œ ํ•ญ๋ชฉ ๋ฐ˜ํ™˜

์ œ๋„ค๋ฆญ์Šค(Generics)

// ์•ž ๋’ค ๋ชจ๋‘ ์ž๋ฃŒํ˜•์„ ์ ์„ ์ˆ˜ ์žˆ์ง€๋งŒ ์ž˜ ์‚ฌ์šฉ x
// ArrayList<String> arr = new ArrayList<String>(); 

// ๋ณดํ†ต ์•ž์—๋งŒ ์ž๋ฃŒํ˜•์„ ์ ๊ณ  ๋’ค์—๋Š” ์ƒ๋žต
ArrayList<String> arr = new ArrayList<>();

ํ•ด๋‹น ArrayList์— ๋‹ด์„ ์ˆ˜ ์žˆ๋Š” ์ž๋ฃŒํ˜•(String) ๋ช…์‹œ -> ๋ช…ํ™•ํ•œ ํƒ€์ž…์ฒดํฌ ๊ฐ€๋Šฅ

์ œ๋„ค๋ฆญ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ์‹œ ArrayList์— ์ถ”๊ฐ€๋˜๋Š” ๊ฐ์ฒด๋Š” Object๋กœ ์ธ์‹๋œ๋‹ค. -> ๊ฐ’์„ ๊ฐ€์ ธ์˜ฌ ๊ฒฝ์šฐ String์œผ๋กœ ํ˜•๋ณ€ํ™˜์„ ํ•ด์ค˜์•ผ ํ•œ๋‹ค.

ArrayList pitches = new ArrayList();
pitches.add("138");
pitches.add("129");

// Object -> String ํ˜•๋ณ€ํ™˜ ํ•„์š”
String one = (String) pitches.get(0);
String two = (String) pitches.get(1);

์ œ๋„ค๋ฆญ์Šค๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ํ˜•๋ณ€ํ™˜ ํ•„์š”์—†์ด ๋ฐ”๋กœ ๊ฐ’์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

ArrayList<String> pitches = new ArrayList<>();
pitches.add("138");
pitches.add("129");

// ํ˜•๋ณ€ํ™˜ x
String one = pitches.get(0);  
String two = pitches.get(1);  

ArrayList ๊ฐ์ฒด์— ์š”์†Œ ์ถ”๊ฐ€ํ•˜๊ธฐ

add

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

    numbers.add(123);
    numbers.add(456);
    numbers.add(789);

    numbers.add(0, 000);

๊ธฐ์กด์— ๋ฌธ์ž์—ด ๋ฐฐ์—ด์ด ์กด์žฌํ•  ๊ฒฝ์šฐ

import java.util.ArrayList;
import java.util.Arrays;

public class Sample {
    public static void main(String[] args) {
        String[] data = {"138", "129", "142"};  // ์ด๋ฏธ ํˆฌ๊ตฌ์ˆ˜ ๋ฐ์ดํ„ฐ ๋ฐฐ์—ด์ด ์žˆ๋‹ค.
        ArrayList<String> pitches = new ArrayList<>(Arrays.asList(data));
        System.out.println(pitches);  // [138, 129, 142] ์ถœ๋ ฅ
    }
}

ํ˜น์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ฐ”๋กœ ๊ฐ’์„ ์ „๋‹ฌํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

import java.util.ArrayList;
import java.util.Arrays;

public class Sample {
    public static void main(String[] args) {

        ArrayList<String> pitches = new ArrayList<>(Arrays.asList("138", "129", "142"));
    }
}

๋ฆฌ์ŠคํŠธ ์ •๋ ฌํ•˜๊ธฐ

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;

public class Sample {
    public static void main(String[] args) {
        ArrayList<String> pitches = new ArrayList<>(Arrays.asList("138", "129", "142"));
        pitches.sort(Comparator.naturalOrder());  // ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ
        System.out.println(pitches);  // [129, 138, 142] ์ถœ๋ ฅ
    }
}

Comparator.naturalOrder() : ์˜ค๋ฆ„์ฐจ์ˆœ
Comparator.reverseOrder() : ๋‚ด๋ฆผ์ฐจ์ˆœ

'โญ Personal_Study > Java' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

์ƒ์ˆ˜์ง‘ํ•ฉ(Enum)  (1) 2022.12.19
๋งต(Map)  (0) 2022.12.18
String & StringBuffer  (2) 2022.12.10
๋ฉ”์„œ๋“œ์™€ ํ•จ์ˆ˜ ๊ธฐ์ดˆ  (0) 2022.12.09
ํด๋ž˜์Šค ๊ธฐ์ดˆ  (0) 2022.12.09

๋Œ“๊ธ€