🏁 기타/μ½”λ“œν”„λ ˆμ†Œ μ²΄ν—˜λ‹¨_BE

[Java] μ»¬λ ‰μ…˜ ν”„λ ˆμž„μ›Œν¬ : List

Dhey 2022. 1. 21. 16:15
λ°˜μ‘ν˜•
List<E> μΈν„°νŽ˜μ΄μŠ€
: List 자료ꡬ쑰λ₯Ό μœ„ν•΄ μ •μ˜λœ μΈν„°νŽ˜μ΄μŠ€

 

- μ—¬λŸ¬ 건의 데이터λ₯Ό ν•˜λ‚˜μ˜ 객체둜 κ΄€λ¦¬ν•œλ‹€.

- μž…λ ₯된 데이터에 μˆœμ„œκ°€ μ‘΄μž¬ν•œλ‹€. (μˆœμ„œ μ •λ³΄μ˜ 관리λ₯Ό μœ„ν•΄ 인덱슀 κ°œλ…μ΄ 쑴재)

- μž…λ ₯된 λ°μ΄ν„°λ“€μ˜ 쀑볡을 ν—ˆμš©ν•œλ‹€.

 

 

 

≫ Collection<E> μΈν„°νŽ˜μ΄μŠ€λ₯Ό μƒμ†ν•˜μ—¬ μ •μ˜λœ μΈν„°νŽ˜μ΄μŠ€

 

Collection<E> μΈν„°νŽ˜μ΄μŠ€μ—μ„œ μ •μ˜λœ λ©”μ„œλ“œμ— List μžλ£Œκ΅¬μ‘°μ— ν•„μš”ν•œ λ©”μ„œλ“œκ°€ μΆ”κ°€λ‘œ μ •μ˜ λœλ‹€.

indexλ₯Ό μ΄μš©ν•œ ν•¨μˆ˜λ₯Ό μΆ”κ°€μ μœΌλ‘œ μ •μ˜ν•¨

 

 

 

≫ λŒ€ν‘œμ μΈ List 자료ꡬ쑰의 μ»¬λ ‰μ…˜ 클래슀

ArrayList<E>κ°€ κ°€μž₯ 많이 μ‚¬μš©λ˜λŠ” 클래슀

 

 


 

 ArrayList<E> ν΄λž˜μŠ€λŠ”?

 

· Array와 κ°€μž₯ μœ μ‚¬ν•œ μ»¬λ ‰μ…˜ ν΄λž˜μŠ€μ΄λ‹€.

· Array처럼 객체 λ‚΄λΆ€ 데이터에 μ ‘κ·Όν•˜κΈ° μœ„ν•œ μΈλ±μŠ€κ°€ μ‘΄μž¬ν•œλ‹€.

· Array와 λ‹€λ₯΄κ²Œ μƒμ„±λœ κ°μ²΄μ—μ„œ λ°μ΄ν„°μ˜ μΆ”κ°€, μ‚­μ œκ°€ 자유둭게 κ°€λŠ₯ν•˜λ‹€.

· Java.util νŒ¨ν‚€μ§€μ— μ‘΄μž¬ν•œλ‹€.

 

 

ArrayList<E> 객체 생성
import java.util.ArrayList;

ArrayList<Type-Class> arrayList-name = new ArrayList<>();

 - import java.util.ArrayList : ArrayList 클래슀λ₯Ό μ‚¬μš©ν•˜κΈ° μœ„ν•΄ μ»΄νŒŒμΌλŸ¬μ— ν•΄λ‹Ή Classκ°€ μ‘΄μž¬ν•˜λŠ” νŒ¨ν‚€μ§€ 정보λ₯Ό μ œκ³΅ν•œλ‹€.

 - ArrayList : μƒμ„±ν•˜κ³ μž ν•˜λŠ” 객체가 ArrayList 클래슀 μž„μ„ μ§€μ •ν•œλ‹€.

 - <Type-Class> : μ œλ„€λ¦­μ„ μ΄μš©ν•΄ ArrayList 객체 λ‚΄μ—μ„œ μ‚¬μš©ν•  데이터 νƒ€μž…μ„ μ§€μ •ν•œλ‹€. (데이터 νƒ€μž…μ˜ Class이름 μ‚¬μš©)

 - arrayList-name : μƒμ„±ν•˜κ³ μž ν•˜λŠ” ArrayList 객체의 λ³€μˆ˜λͺ…을 μ§€μ •ν•œλ‹€.

 

 

ArrayList<E> 객체의 데이터λ₯Ό λ‹€λ£¨λŠ” λ©”μ†Œλ“œ

 

β–Ά  ArrayList<E> 객체의 데이터 μΆ”κ°€ β—€

 

 β‰« boolean add(E e)

     - 객체 생성 μ‹œ μ •μ˜ν•œ 데이터 νƒ€μž…(<E>)을 인자둜 μ „λ‹¬ν•˜μ—¬ λ§ˆμ§€λ§‰ μœ„μΉ˜μ— μΆ”κ°€ν•œλ‹€.

     - μˆ˜ν–‰κ²°κ³Όλ‘œ boolean νƒ€μž…μ˜ 값을 λ°˜ν™˜ν•œλ‹€. 

     - Class 객체λ₯Ό λ°μ΄ν„°λ‘œ μΆ”κ°€κ°€ κ°€λŠ₯ν•˜λ‹€.

객체의 Class 정보와 λ©”λͺ¨λ¦¬ μ£Όμ†Œ 정보가 μ €μž₯됨

 

   β‰«  void add(int index, E e)

indexλ₯Ό 인자둜 μ „λ‹¬ν•˜μ—¬ index 0의 데이터λ₯Ό ꡐ체함

     - 객체 생성 μ‹œ μ •μ˜ν•œ λ°μ΄ν„°μ˜ νƒ€μž…(<E>)κ³Ό μΆ”κ°€ν•˜κ³ μž ν•˜λŠ” μœ„μΉ˜μ˜ 인덱슀 정보λ₯Ό 인자둜 μ „λ‹¬ν•˜μ—¬ ν•΄λ‹Ή μœ„μΉ˜μ— 데이터λ₯Ό μΆ”κ°€ν•œλ‹€.

 

 β‰« boolean addAll(Collection<? extends E> C)

     - 인자둜 μ „λ‹¬ν•œ Collection 객체의 데이터듀을 λͺ¨λ‘ μΆ”κ°€ν•œλ‹€.

        (ArrayList 객체 생성 μ‹œ μ •μ˜ν•œ 데이터 νƒ€μž…(<E>)을 μ›μ†Œλ‘œ κ°€μ§€λŠ” Collection 객체이어야 함)

 

 β‰« void addAll(int index, Collection<? extends E> C)

     - μ›ν•˜λŠ” μœ„μΉ˜μ— 인자둜 전달받은 Collection 객체의 데이터듀을 μΆ”κ°€ν•œλ‹€.

 

 

β–Ά  ArrayList<E> 객체의 λ°μ΄ν„° 탐색 β—€

 

 β‰« E get(int index)

     - 전달받은 index μœ„μΉ˜μ— μ €μž₯λ˜μ–΄ μžˆλŠ” 데이터λ₯Ό μ„ νƒν•˜μ—¬ λ°˜ν™˜ν•œλ‹€.

 

 β‰« int indexOf(Object o)

     - μ°Ύκ³ μžν•˜λŠ” 데이터λ₯Ό 인자둜 μ „λ‹¬ν•˜λ©΄ 전달받은 데이터가 μ €μž₯λ˜μ–΄μžˆλŠ” 인덱슀 정보λ₯Ό λ°˜ν™˜ν•œλ‹€.

     - 데이터가 μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” 경우 -1을 λ°˜ν™˜ν•œλ‹€.

 

 β‰« boolean contains(Object o)

     - 전달받은 λ°μ΄ν„°μ˜ 객체 포함여뢀λ₯Ό ν™•μΈν•˜μ—¬ boolean νƒ€μž…μœΌλ‘œ κ²°κ³Όλ₯Ό λ°˜ν™˜ν•œλ‹€.

 

 β‰« int size()

     - 객체에 μ €μž₯λ˜μ–΄ μžˆλŠ” λ°μ΄ν„°μ˜ 개수λ₯Ό μ‘°νšŒν•œλ‹€.

 

 

β–Ά  ArrayList<E> 객체의 λ°μ΄ν„° λ³€κ²½ β—€

 

 β‰« void clear()

     - 객체 λ‚΄ λͺ¨λ“  데이터 제거

 

 β‰« E remove(int index)

     - 전달받은 인덱슀 μœ„μΉ˜μ˜ 데이터λ₯Ό μ œκ±°ν•˜κ³  ν•΄λ‹Ή 데이터λ₯Ό λ°˜ν™˜ν•œλ‹€.

 

 β‰« boolean remove(Object o)

     - 전달받은 데이터λ₯Ό κ°μ²΄μ—μ„œ μ œκ±°ν•˜κ³  μˆ˜ν–‰κ²°κ³Όλ₯Ό boolean νƒ€μž…μœΌλ‘œ λ°˜ν™˜

 

 β‰« boolean removeAll(Collection<?> c)

- 인자둜 μ „λ‹¬ν•œ Collection 객체가 κ°€μ§€κ³  μžˆλŠ” 데이터듀을 λͺ¨λ‘ μ œκ±°ν•œλ‹€.

 

 β‰« E set(int index, E e)

- 전달받은 인덱슀 μœ„μΉ˜μ˜ 데이터λ₯Ό μˆ˜μ •ν•œλ‹€.

 

 

β–Ά  ArrayList<E> 객체의 λ°μ΄ν„° μ •λ ¬ β—€

 

 β‰« void java.util.Collections.sort(List<T> list)

- java.util.Collections 클래슀의 static sort λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•΄ μ˜€λ¦„μ°¨μˆœμœΌλ‘œ μ •λ ¬ν•œλ‹€.

- 인자둜 μ •λ ¬ν•˜κ³ μž ν•˜λŠ” List<T> μΈν„°νŽ˜μ΄μŠ€ κ΅¬ν˜„ 클래슀의 객체 전달

 

 β‰« void java.util.Collections.reverse(List<T> list)

java.util.Collections 클래슀의 static sort λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•΄ λ‚΄λ¦Όμ°¨μˆœμœΌλ‘œ μ •λ ¬ν•œλ‹€.

- 인자둜 μ •λ ¬ν•˜κ³ μž ν•˜λŠ” List<T> μΈν„°νŽ˜μ΄μŠ€ κ΅¬ν˜„ 클래슀의 객체 전달

 

 


 

ArrayList<E> 객체λ₯Ό μƒμ„±ν•˜λŠ” 또 λ‹€λ₯Έ λ°©λ²•λ“€λ‘œλŠ”

 

β–Ά Array 객체λ₯Ό μ΄μš©ν•œ ArrayList 객체 생성

   - java.util.Arrays 클래슀의 static asList() λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ Array 객체λ₯Ό java.util.Arrays$ArrayList 객체둜 λ³€ν™˜ν•˜μ—¬ ArrayList 객체 생성 μ‹œμ— μ‚¬μš©ν•œλ‹€. (* java.util.ArrayList 클래슀λ₯Ό μ΄μš©ν•œ κ°μ²΄μ™€λŠ” 닀름)

 

β–Ά ArrayList 객체 생성 μ‹œ μ΄ˆκΈ°κ°’μ„ 전달

   - java.util.Arrays 클래슀의 static asList() λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ μ΄ˆκΈ°κ°’μ„ java.util.Arrays$ArrayList 객체둜 λ³€ν™˜ν•˜μ—¬ ArrayList 객체 생성 μ‹œμ— μ‚¬μš©ν•œλ‹€. (* java.util.ArrayList 클래슀λ₯Ό μ΄μš©ν•œ κ°μ²΄μ™€λŠ” 닀름)

 

 


 

μ½”λ“œν”„λ ˆμ†Œ Java μ›Ή 개발 μ²΄ν—˜λ‹¨ ν™œλ™ 쀑 'Java ν”„λ‘œκ·Έλž˜λ° μ΄ˆκΈ‰' μ΄λŸ¬λ‹ κ°•μ˜λ₯Ό λ“£κ³  μž‘μ„±ν•˜μ˜€μŠ΅λ‹ˆλ‹€ :)
μ½”λ“œν”„λ ˆμ†Œ URL: https://www.codepresso.kr/

 

프리미엄 IT ꡐ윑 μ„œλΉ„μŠ€ - μ½”λ“œν”„λ ˆμ†Œ

 

www.codepresso.kr

λ°˜μ‘ν˜•