Java

๋‹ค์ฐจ์› ๋ฐฐ์—ด, ArrayList

์กฐ๋ฐˆ๋ฐ 2022. 2. 28. 22:28

๐Ÿ’ก 2์ฐจ์› ์ด์ƒ์˜ ๋ฐฐ์—ด

: ์ž๋ฃŒํ˜•[][] ๋ฐฐ์—ด์ด๋ฆ„ = new ์ž๋ฃŒํ˜•[ํ–‰ ๊ฐœ์ˆ˜][์—ด ๊ฐœ์ˆ˜];

: int[][] arr = {{1,2},{3,4}}; => ์„ ์–ธ&์ดˆ๊ธฐํ™”

: for๋ฌธ(์ด์ค‘for๋ฌธ) => ํ–‰์„ ๊ธฐ์ค€์œผ๋กœ ์žก๊ณ  -> ์—ด์„ ๋Œ๋ฆฐ๋‹ค

public class Array {

	public static void main(String[] args) {
		// ๋‹ค์ฐจ์› ๋ฐฐ์—ด
		int[][] num = {{1,2},{2,3},{3,4}};
		
		for(int i=0; i<num.length; i++) {		// ํ–‰์˜ ๊ธธ์ด
			for(int j=0; j<num[i].length; j++) {	// ์—ด์˜ ๊ธธ์ด
				System.out.println(num[i][j]);
			}
			System.out.println();
		}
 	}
}

: ๊ฒฐ๊ณผ

 

๐Ÿ’ก ArrayList ํด๋ž˜์Šค

: ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๊ฐ์ฒด ๋ฐฐ์—ด ํด๋ž˜์Šค <- ๋ช…ํ™•ํ•œ ํฌ๊ธฐ๋ฅผ ์•Œ ์ˆ˜ ์—†์„๋•Œ ์‚ฌ์šฉ

* ๋ฐฐ์—ด์€ ์„ ์–ธ์‹œ ํฌ๊ธฐ๋ฅผ ์ง€์ •, ArrayList๋Š” ํฌ๊ธฐ๊ฐ€ ๋™์ ์œผ๋กœ ๋ณ€ํ•œ๋‹ค, ์›ํ•˜๋Š” ๋งŒํผ ๋‹ด์„ ์ˆ˜ ์žˆ๋‹ค

: ArrayList<๊ฐ์ฒด ํƒ€์ž…> ๊ฐ์ฒด๋ช… = new ArrayList<๊ฐ์ฒด ํƒ€์ž…>();

โ˜ž add("๊ฐ’") : ์ถ”๊ฐ€,์ž…๋ ฅ, add(์œ„์น˜, "๊ฐ’") : ์œ„์น˜๋„ ์ง€์ •๊ฐ€๋Šฅ

โ˜ž get(์ธ๋ฑ์Šค) : ์ถœ๋ ฅ

โ˜ž size() : ArrayList์˜ ๊ฐฏ์ˆ˜ ๋ฆฌํ„ด

โ˜ž contains("๊ฐ’") : ๋ฆฌ์ŠคํŠธ ์•ˆ์— ํ•ด๋‹น ํ•ญ๋ชฉ์ด ์กด์žฌํ•˜๋Š”์ง€ ํŒ๋ณ„ -> boolean์œผ๋กœ ๋ฆฌํ„ด

โ˜ž remove() : ์‚ญ์ œ

   + remove(๊ฐ์ฒด) : ํ•ด๋‹นํ•˜๋Š” ๊ฐ’ ์‚ญ์ œ -> ๊ฒฐ๊ณผ(true/false) ๋ฆฌํ„ด

   + remove(์ธ๋ฑ์Šค) : ํ•ด๋‹น ์œ„์น˜ ๊ฐ’ ์‚ญ์ œ -> ๊ฒฐ๊ณผ(์ธ๋ฑ์Šค์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’) ๋ฆฌํ„ด

โ˜ž String.join

: String.join("๊ตฌ๋ถ„์ž", ๋ฆฌ์ŠคํŠธ๊ฐ์ฒด), ์ผ๋ฐ˜ ๋ฐฐ์—ด์—๋„ ์‚ฌ์šฉ๊ฐ€๋Šฅ

 ex) 138,129,142 <-์™€ ๊ฐ™์ด ๋ฐฐ์—ด ์‚ฌ์ด์— , ๋„ฃ๊ธฐ

      String result = String.join("," , ๋ฆฌ์ŠคํŠธ๊ฐ์ฒด);

โ˜ž sort() : ๋ฆฌ์ŠคํŠธ ์ •๋ ฌ

 : ๋ฆฌ์ŠคํŠธ๊ฐ์ฒด.sort(Comparator.naturalOrder());   

   ์˜ค๋ฆ„์ฐจ์ˆœ(์ˆœ๋ฐฉํ–ฅ) ์ •๋ ฌ - Comparator.naturalOrder()

   ๋‚ด๋ฆผ์ฐจ์ˆœ(์—ญ๋ฐฉํ–ฅ) ์ •๋ ฌ - Comparator.reverseOrder() ๋‘˜์ค‘ํ•˜๋‚˜ ์ž…๋ ฅ

 

๐Ÿ”Ž ์ œ๋„ค๋ฆญ์Šค (Generics)

ex) ArrayList<String> list = new ArrayList<>();

== ArrayList ์•ˆ์— ๋‹ด์„ ์ˆ˜ ์žˆ๋Š” ์ž๋ฃŒํ˜•์€ Stringํƒ€์ž… ๋ฟ์ด๋‹ค

: ์ด๋ ‡๊ฒŒ ๋ช…ํ™•ํ•˜๊ฒŒ ์ž‘์„ฑํ•ด์ฃผ๋Š”๊ฒƒ์ด ์ข‹๋‹ค

* int๋ฅผ ์ œ๋„ค๋ฆญ์Šค๋กœ ์‚ฌ์šฉํ•˜๋ ค๋ฉด Integer๋กœ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค

 

๐Ÿ”Ž ์ด๋ฏธ ์กด์žฌํ•˜๋Š” ๋ฐฐ์—ด -> ArrayList 

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

public class Main {

    public static void main(String[] args) {
        String[] str = {"a","b","c"};

        ArrayList<String> list = new ArrayList<>(Arrays.asList(str));

        System.out.println(list); // [a,b,c] ์ถœ๋ ฅ
    }
}

 

 

๐Ÿ”Ž ArrayList ์ด์šฉํ•ด ํ•™์ƒ๋“ค์˜ ๊ณผ๋ชฉ ์ ์ˆ˜ ํ™•์ธํ•˜๊ธฐ

package array;

public class Subject {
	
	private String title;
	private int score;
	
	public String getTitle() {
		return title;
	}
	public void setTitle(String title) {
		this.title = title;
	}
	public int getScore() {
		return score;
	}
	public void setScore(int score) {
		this.score = score;
	}
}
package array;

import java.util.ArrayList;

public class Student {
	
	private int studentID;
	private String studentName;
	private ArrayList<Subject> subjectList ;	// ์ˆ˜๊ฐ•ํ•œ ์—ฌ๋Ÿฌ๊ฐœ์˜ ๊ณผ๋ชฉ
	
	public Student(int studentID, String studentName) {	// ํ•™์ƒ์— ๋Œ€ํ•˜์—ฌ ์ƒ์„ฑ
		this.studentID = studentID;
		this.studentName = studentName;
		
		subjectList = new ArrayList<Subject>();	
        // ํ•™์ƒ์ด ์ƒ์„ฑ๋˜๋ฉด -> ๋ฐฐ์—ด๋„ ์ƒ์„ฑ๋˜์•ผํ•จ, ArrayList๋Š” Subject์š”์†Œ๋ฅผ ์ง€๋‹Œ๋‹ค
	}
	
	public void addSubject(String title, int score) { // ๊ณผ๋ชฉ ์ถ”๊ฐ€
		Subject subject = new Subject();
		subject.setTitle(title);
		subject.setScore(score);
		
		subjectList.add(subject);
	}
	
	public void showStudentInfo() {	// ์ •๋ณด ์ถœ๋ ฅ
		for(Subject subject : subjectList) {
			System.out.println(studentName + "ํ•™์ƒ์˜ "+ subject.getTitle() + "๊ณผ๋ชฉ์˜ ์„ฑ์ ์€ " +
					subject.getScore() + "์ž…๋‹ˆ๋‹ค");
		}
	}
}
package array;

import java.util.ArrayList;

public class Array {

	public static void main(String[] args) {
		Student studentJ = new Student(1, "james");
		studentJ.addSubject("๊ตญ์–ด", 90);
		studentJ.addSubject("์˜์–ด", 95);
		studentJ.addSubject("์ˆ˜ํ•™", 80);
		
		studentJ.showStudentInfo();
		
		System.out.println("=======================");
		
		Student studentT = new Student(2, "tomas");
		studentT.addSubject("๊ตญ์–ด", 80);
		studentT.addSubject("์˜์–ด", 90);
		studentT.addSubject("์ˆ˜ํ•™", 100);
		
		studentT.showStudentInfo();
 	}
}

: ๊ฒฐ๊ณผ

* ๋ฉค๋ฒ„ ๋ณ€์ˆ˜๋Š” ํ•„์š”ํ•œ ๊ฒŒ ์•„๋‹ˆ๋ฉด private๋กœ, ๋‚˜์ค‘์— ํ•„์š”ํ•  ๋•Œ ๋ณ€๊ฒฝ