250x250
Rainbow๐ŸŒˆCoder
My dev Note๐Ÿ“’
Rainbow๐ŸŒˆCoder
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (411)
    • ๊ณต์ง€์‚ฌํ•ญ (0)
    • Debugger (10)
      • Visual Studio Debugger (1)
      • Chrome DevTools (3)
      • Visual Studio Code Debugger (4)
      • eclipse (1)
      • intelliJ (1)
    • OOP (2)
      • OOP (2)
    • TypeScript (54)
      • ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ TypeScript (54)
    • Javascript (87)
      • Javascript (45)
      • Node.js (19)
      • React (5)
      • FE ๊ฐœ๋ฐœํ™˜๊ฒฝ์„ค์ • (3)
      • React์™€ Node ๊ฐ™์ด ๋•Œ๋ ค์žก๊ธฐ (6)
      • next.js (2)
      • pixi.js (7)
    • ๋งˆํฌ์—… (23)
      • Html & Css (23)
    • C# (80)
      • C# (12)
      • ์ด๊ฒƒ์ด C#์ด๋‹ค (68)
    • C++ (30)
      • c++ (27)
      • win api (3)
    • Unity (18)
      • Unity(๊ธฐ์ดˆ) (8)
      • Unity(C#์ค‘๊ธ‰) (5)
      • ์œ ๋‹ˆํ‹ฐ ํฌํ†ค(๋„คํŠธ์›Œํฌ) (4)
      • unity c# MyCode (1)
    • Java & Spring (29)
      • Java (11)
      • ์Šคํ”„๋ง (8)
      • Java Algorithm (9)
      • Javs Data Structures (1)
    • ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (15)
      • ์ž๋ฃŒ๊ตฌ์กฐ (5)
      • ์•Œ๊ณ ๋ฆฌ์ฆ˜ (10)
    • ํ˜•์ƒ๊ด€๋ฆฌ (15)
      • Git (11)
      • ์†Œ์ŠคํŠธ๋ฆฌ (3)
    • ๊ทธ๋ž˜ํ”ฝ์Šค (7)
      • WebGl (7)
    • AWS (3)
      • aws (3)
    • ๋ฆฌ๋ˆ…์Šค (5)
      • ๋ฆฌ๋ˆ…์Šค (5)
    • ์ฑ… ๋ฆฌ๋ทฐ (13)
      • ํด๋ฆฐ์ฝ”๋“œ(์ฑ…๋ฆฌ๋ทฐ) (3)
      • ์œ ์ง€๋ณด์ˆ˜๊ฐ€๋Šฅํ•œ์ฝ”๋”ฉ์˜๊ธฐ์ˆ C#ํŽธ(์ฑ…๋ฆฌ๋ทฐ) (1)
      • ๋ฆฌํŒฉํ† ๋ง(์ž๋ฐ”์Šคํฌ๋ฆฝํŠธํŒ) (9)
    • Server (2)
      • ๊ฒŒ์ž„ ์„œ๋ฒ„(๋„คํŠธ์›Œํฌ, ๋ฉ€ํ‹ฐ์“ฐ๋ ˆ๋“œ,OS) (2)
    • ์„ค๊ณ„, ์•„ํ‚คํ…์ณ (4)
    • ํŒŒ์ด์ฌ (5)
    • ๋””์ž์ธํŒจํ„ด (2)
    • mocha (2)
    • Jest (1)
    • Spine (1)
    • ์ธ๊ณต์ง€๋Šฅ (1)
      • ํ˜ผ์ž๊ณต๋ถ€ํ•˜๋Š”๋จธ์‹ ๋Ÿฌ๋‹+๋”ฅ๋Ÿฌ๋‹ (1)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • MySQL
  • ์œ„์ž„
  • ์ปดํฌ์ง€์…˜
  • ใ…ฃใ„ท

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
Rainbow๐ŸŒˆCoder

My dev Note๐Ÿ“’

[Java] ์ž๋ฐ” List.of()๋กœ ๋งŒ๋“  ๋ถˆ๋ณ€ ๋ฆฌ์ŠคํŠธ๋ฅผ ๊ฐ€๋ณ€ ๋ฆฌ์ŠคํŠธ๋กœ ๋ฐ”๊พธ๊ธฐ
Java & Spring/Java

[Java] ์ž๋ฐ” List.of()๋กœ ๋งŒ๋“  ๋ถˆ๋ณ€ ๋ฆฌ์ŠคํŠธ๋ฅผ ๊ฐ€๋ณ€ ๋ฆฌ์ŠคํŠธ๋กœ ๋ฐ”๊พธ๊ธฐ

2022. 12. 9. 12:10
728x90

์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” List.of()๋กœ ๋งŒ๋“  ๋ถˆ๋ณ€ ๋ฆฌ์ŠคํŠธ(๋‚ด๋ถ€ ์ •๋ณด ๋ฐ”๊ฟ€ ์ˆ˜ ์—†์Œ)๋ฅผ ํ•™์Šตํ•ด๋ณด๊ณ ,

์ด๋ฅผ ํ†ตํ•ด ๊ฐ€๋ณ€ ๋ฆฌ์ŠคํŠธ(๋‚ด๋ถ€์ •๋ณด ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์Œ)๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•๊นŒ์ง€ ์•Œ์•„๋ณธ๋‹ค.

 

<ํฌ์ŠคํŒ… ์ˆœ์„œ>

Collections
- List
- Set
- Queue
- Map

 

 

์ž๋ฐ”๋ฅผ ๊ณต๋ถ€ํ•  ๋•Œ ํƒœ๋„

์ตœ์‹  ๋ฒ„์ „ + ํ‚ค์›Œ๋“œ ๊ตฌ๊ธ€๋งํ•˜์—ฌ ์ œ์ผ ์œ„์— ๋‚˜์˜ค๋Š” ์˜ค๋ผํด ํ—ฌํผ ์„ผํ„ฐ ๋ฌธ์„œ๋ฅผ ์—ด์‹ฌํžˆ ์ฝ์„ ๊ฒƒ.

 

List 

์ •์˜

https://docs.oracle.com/javase/9/docs/api/java/util/List.html

 

์ •๋ ฌ๋œ ์ปฌ๋ ‰์…˜( sequence๋ผ๊ณ ๋„ ํ•จ ). 
์ด ์ธํ„ฐํŽ˜์ด์Šค์˜ ์‚ฌ์šฉ์ž๋Š” ๋ชฉ๋ก์—์„œ ๊ฐ ์š”์†Œ๊ฐ€ ์‚ฝ์ž…๋˜๋Š” ์œ„์น˜๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 
์‚ฌ์šฉ์ž๋Š” ์ •์ˆ˜ ์ธ๋ฑ์Šค(๋ชฉ๋ก์˜ ์œ„์น˜)๋กœ ์š”์†Œ์— ์•ก์„ธ์Šคํ•˜๊ณ  ๋ชฉ๋ก์˜ ์š”์†Œ๋ฅผ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ง‘ํ•ฉ๊ณผ ๋‹ฌ๋ฆฌ ๋ชฉ๋ก์€ ์ผ๋ฐ˜์ ์œผ๋กœ ์ค‘๋ณต ์š”์†Œ๋ฅผ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.

 

An ordered collection (also known as a sequence). 

์ˆœ์„œ์žˆ๋Š” ์ง‘ํ•ฉ์ด๋ผ๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค. ์ด๊ฒƒ์€ List์˜ ์–ด๋А ์š”์†Œ๊ฐ€ ์–ด๋””์— ์‚ฝ์ž…๋˜๋Š”์ง€ ์ •๋ฐ€ํ•˜๊ฒŒ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

 

List Interface

Modifier and Type Method Description
boolean addAll(int index, Colletion<> extends E> c) ์ง€์ •๋œ ์ปฌ๋ ‰์…˜์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ ์ด ๋ชฉ๋ก์˜ ์ง€์ •๋œ ์œ„์น˜์— ์‚ฝ์ž…ํ•œ๋‹ค
E get(int index) ์ด ๋ชฉ๋ก์˜ ์ง€์ •๋œ ์œ„์น˜์— ์žˆ๋Š” ์š”์†Œ๋ฅผ ๋ฐ˜ํ™˜
E set(int index, E element) ์ด ๋ชฉ๋ก์˜ ์ง€์ •๋œ ์œ„์น˜์— ์žˆ๋Š” ์š”์†Œ๋ฅผ ์ง€์ •๋œ ์š”์†Œ๋กœ ๋ฐ”๊พผ๋‹ค
void add(int index, E element) ์ด ๋ชฉ๋ก์˜ ์ง€์ •๋œ ์œ„์น˜์— ์ง€์ •๋œ ์š”์†Œ๋ฅผ ์‚ฝ์ž…ํ•œ๋‹ค
E remove(int paramInt) ์ด ๋ชฉ๋ก์˜ ์ง€์ •๋œ ์œ„์น˜์— ์ง€์ •๋œ ์š”์†Œ๋ฅผ ์ œ๊ฑฐํ•œ๋‹ค
int indexOf(Object o) ์ด ๋ชฉ๋ก์—์„œ ์ง€์ •๋œ ์š”์†Œ๊ฐ€ ์ฒ˜์Œ ๋‚˜ํƒ€๋‚˜๋Š” ์ธ๋ฑ์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ฑฐ๋‚˜ ์ด ๋ชฉ๋ก์— ์š”์†Œ๊ฐ€ ํฌํ•จ๋˜์ง€ ์•Š์œผ๋ฉด -1์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
int lastIndexOf(Object o) ์ด ๋ชฉ๋ก์—์„œ ์ง€์ •๋œ ์š”์†Œ๊ฐ€ ๋งˆ์ง€๋ง‰์œผ๋กœ ๋‚˜ํƒ€๋‚˜๋Š” ์ธ๋ฑ์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ฑฐ๋‚˜, ์ด ๋ชฉ๋ก์— ์š”์†Œ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฉด -1์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค

์˜ˆ์ œ

์ž๋ฐ” 9์—์„œ ๊ฐ€์žฅ ์‰ฝ๊ฒŒ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€ List.of()์ด๋‹ค.

of()๋Š” ๋ฆฌ์ŠคํŠธ ์ธํ„ฐํŽ˜์ด์Šค ์•ˆ์— ์กด์žฌํ•˜๋Š” ์ •์  ๋ฉ”์†Œ๋“œ์ด๋‹ค. ์ด๊ฒƒ์ด ํŠน์ • ์š”์†Œ๋“ค์„ ๊ฐ€์ง€๊ณ  ๋ฆฌ์ŠคํŠธ๋ฅผ ์ดˆ๊ธฐํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ์ œ์ผ ์‰ฌ์šด ๋ฐฉ๋ฒ•์ด๋‹ค.

import java.util.List;

public class Hello {
	public static void main(String[] args) {
		List<String> words = List.of("Jisoo", "Lisa", "Jenny", "Rose");
		System.out.println(words);
	}
}

- ๊ธธ์ด๋ฅผ ์“ฐ๊ณ  ์‹ถ๋‹ค๋ฉด, length๊ฐ€ ์•„๋‹ˆ๋ผ size๋ฅผ ์“ด๋‹ค.

(๋ฐฐ์—ด์—์„œ๋Š” ๊ธธ์ด ์†์„ฑ์ด ์žˆ๊ณ  ArrayList๋‚˜ ์ง‘ํ•ฉ์—์„œ๋Š” ํฌ๊ธฐ ์†์„ฑ์ด ์žˆ๋‹ค.) 

import java.util.List;

public class Hello {
	public static void main(String[] args) {
		List<String> words = List.of("Jisoo", "Lisa", "Jenny", "Rose");
		System.out.println(words.size()); // 4
		System.out.println(words.isEmpty()); // false
		System.out.println(words.get(0)); // Jisoo
		System.out.println(words.get(1)); // Lisa
		System.out.println(words.get(2)); // Jenny
		System.out.println(words.get(3)); // Rose

		System.out.println(words.contains("GD")); // false
		System.out.println(words.contains("Jenny")); // true

		System.out.println(words.indexOf("GD")); // -1
		System.out.println(words.indexOf("Jenny")); // 2
	}
}

 

 

๋ฆฌ์ŠคํŠธ ์ธํ„ฐํŽ˜์ด์Šค์˜ ๋ถˆ๋ณ€์„ฑ๊ณผ ๊ฐ€๋ณ€๋ฆฌ์ŠคํŠธ์˜ ๊ตฌํ˜„

 

๋ฌธ์ž์—ด ํด๋ž˜์Šค -> ๋ถˆ๋ณ€ : ํŠน์ • ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“  ์ˆœ๊ฐ„๋ถ€ํ„ฐ ์ด ๊ฐ’์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์—†๊ฒŒ ๋œ๋‹ค.

๋น„์Šทํ•˜๊ฒŒ List.of()๋ผ๋“ ๊ฐ€ Map.of() ๊ฐ™์€ ๊ฒƒ๋“ค๋กœ ๋งŒ๋“  ๋ชจ๋“  ๊ฒƒ๋“ค์€ ๋ถˆ๋ณ€ ๋ฆฌ์ŠคํŠธ์ด๋‹ค.

๋”ฐ๋ผ์„œ, ์•„๋ž˜์™€ ๊ฐ™์€ ์ฝ”๋“œ๋Š” ์—๋Ÿฌ๊ฐ€ ๋‚œ๋‹ค.

System.out.println(words.add("V"));

Exception in thread "main" java.lang.UnsupportedOperationException
        at java.base/java.util.ImmutableCollections.uoe(ImmutableCollections.java:72)
        at java.base/java.util.ImmutableCollections$AbstractImmutableCollection.add(ImmutableCollections.java:76)
        at Hello.main(Hello.java:19)

 

์ด์ œ ๊ฐ€๋ณ€๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ๋‹ค๋ฉด, ์„ ํƒ์ง€๋กœ ์žˆ๋Š” ๊ฒƒ๋“ค์€ ArrayList๋ฅผ ๋งŒ๋“ค๋˜๊ฐ€, LinkedList, Vector๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

 

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Vector;

public class Hello {
	public static void main(String[] args) {
		List<String> words = List.of("Jisoo", "Lisa", "Jenny", "Rose");

		List<String> wordsArrayList = new ArrayList<String>(words);
		System.out.println(wordsArrayList); //[Jisoo, Lisa, Jenny, Rose]
		System.out.println(wordsArrayList.size()); //4

		List<String> wordsLinkedList = new LinkedList<String>(words);
		System.out.println(wordsLinkedList); //[Jisoo, Lisa, Jenny, Rose]
		System.out.println(wordsLinkedList.size()); //4

		List<String> wordsVector = new Vector<String>(words);
		System.out.println(wordsVector); //[Jisoo, Lisa, Jenny, Rose]
		System.out.println(wordsVector.size()); //4

	}
}

์ด์ œ ArrayList, LinkedList, Vector ๊ฐ๊ฐ์— ๊ฐ’์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Vector;

public class Hello {
	public static void main(String[] args) {
		List<String> words = List.of("Jisoo", "Lisa", "Jenny", "Rose");

		List<String> wordsArrayList = new ArrayList<String>(words);
		wordsArrayList.add("GD");
		System.out.println(wordsArrayList); // [Jisoo, Lisa, Jenny, Rose, GD]
		System.out.println(wordsArrayList.size()); // 5

		List<String> wordsLinkedList = new LinkedList<String>(words);
		wordsLinkedList.add("V");
		System.out.println(wordsLinkedList); // [Jisoo, Lisa, Jenny, Rose, V]
		System.out.println(wordsLinkedList.size()); // 5

		List<String> wordsVector = new Vector<String>(words);
		wordsVector.add("KAI");
		System.out.println(wordsVector); // [Jisoo, Lisa, Jenny, Rose, KAI]
		System.out.println(wordsVector.size()); // 5

	}
}

 

ArrayList, LinkedList, Vector

์ด ๊ฐ๊ฐ์˜ ๋ฆฌ์ŠคํŠธ๋“ค์ด ์ง€์›ํ•˜๋Š” ์ž‘์—…๋“ค์˜ ์ฐจ์ด์ ์„ ์ž˜ ์ดํ•ดํ•˜์—ฌ, ์ ์žฌ์ ์†Œ์— ํ™œ์šฉํ•  ์ค„ ์•„๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๋„๋ก ํ•˜์ž.

๋ถ„๋Ÿ‰์ƒ ๋‹ค์Œ ํฌ์ŠคํŒ…์— ์ด์–ด์„œ ์ž‘์„ฑํ•˜๋„๋ก ํ•œ๋‹ค.

728x90

'Java & Spring > Java' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Java] ์ธํ„ฐํŽ˜์ด์Šค  (0) 2022.12.14
[Java] ์ž๋ฐ” List ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„ ArrayList vs LinkedList  (0) 2022.12.09
[Java] ๊ฐ์ฒด๋Š” ์ƒ์†์˜ ์ตœ์ƒ์œ„ ์ˆœ์œ„  (0) 2022.11.23
[Java IDE] eclipse IDE ์Šคํƒ€์ผ ๋ณ€๊ฒฝํ•˜๊ธฐ  (0) 2022.05.16
[์ž๋ฐ”์˜ ์ •์„] Hello Java & Eclipse ๋‹จ์ถ•ํ‚ค  (0) 2022.04.25
    'Java & Spring/Java' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [Java] ์ธํ„ฐํŽ˜์ด์Šค
    • [Java] ์ž๋ฐ” List ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„ ArrayList vs LinkedList
    • [Java] ๊ฐ์ฒด๋Š” ์ƒ์†์˜ ์ตœ์ƒ์œ„ ์ˆœ์œ„
    • [Java IDE] eclipse IDE ์Šคํƒ€์ผ ๋ณ€๊ฒฝํ•˜๊ธฐ
    Rainbow๐ŸŒˆCoder
    Rainbow๐ŸŒˆCoder
    ๋ชฐ๋ผ๋„ ๊ฒฐ๊ตญ์€ ์•„๋Š” ๊ฐœ๋ฐœ์ž, ๊ทธ๋Ÿฐ ์‚ฌ๋žŒ์ด ๋˜๊ธฐ ์œ„ํ•œ ๋งค์ผ์˜ ํ•œ๊ฑธ์Œ

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”