๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
IT/JAVA

[18์ผ์ฐจ] JAVA ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ

by GWLEE 2022. 7. 13.

๐Ÿš€ lambda ์ด์–ด์„œ 

 

 

 


 

 

 

 

 

 

 


์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ


 

์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ
1. list ์ปฌ๋ ‰์…˜ : ํŒŒ์ด์ฌ์—์„œ๋Š” ๋ฆฌ์ŠคํŠธ
2. map ์ปฌ๋Ÿญ์…˜ : ํŒŒ์ด์ฌ์—์„œ๋Š” ๋”•์…”๋„ˆ๋ฆฌ 

 

<List ์ปฌ๋ ‰์…˜>

 - ์ˆœ์„œ๋ฅผ ์œ ์ง€, ์ค‘๋ณต์ €์žฅ ๊ฐ€๋Šฅ

- ๊ตฌํ˜„ํด๋ž˜์Šค : ArrayList, Vector, LinkedList

Vector๋Š” ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. 

์ธํ„ฐํŽ˜์ด์Šค list 

ArrayList ๋ฆฌ์ŠคํŠธ์—์„œ ์ œ๊ณตํ•˜๋Š” ์ถ”์ƒ๋ฉ”์„œ๋“œ๋ฅผ ๋‹ค ๊ฐ–๊ณ ์žˆ๋‹ค.

 

package com.gyuone.collection;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List; // ์ถ”๊ฐ€ํ•˜์ž

public class ArrayListExam01 {
	public static void main(String[] args) {
		List<String> list = new ArrayList<String>();
		
		list.add("java"); // 0
		list.add("python"); // 1
		list.add("c++"); // 2 index ์ ‘๊ทผ ๊ฐ€๋Šฅ 
		list.add("Ruby");
		list.add("C#");
		
		System.out.println("์ด ๋ฐ์ดํ„ฐ ์ˆ˜ : " + list.size()); // ์ „์ฒด ๋ฐ์ดํ„ฐ ๊ฐœ์ˆ˜ ๋‚˜์˜ด.
		
		System.out.println("index 2 ๋ฒˆ์งธ ๋ฐ์ดํ„ฐ" + list.get(2)); // index ์ ‘๊ทผ
		
		System.out.println();
		for(int i = 0; i < list.size(); i++) {
			System.out.print(list.get(i) + " ");
		} // ์ „์ฒด ๋ฐ์ดํ„ฐ ์ฐ๊ธฐ 
		System.out.println();
		
		System.out.println();
		for(String s : list) { // ํ™•์žฅ for๋ฌธ
			System.out.println(s + " ");
		}
		System.out.println();
		
		list.remove(2); // index ๋‚ ๋ฆฌ๊ธฐ
		for(String s : list) { // ํ™•์žฅ for๋ฌธ
			System.out.println(s + " ");
		}
		System.out.println();
		
		list.remove("python"); // ๋‚ด์šฉ๋ฌผ๋กœ ์ง์ ‘ ๋‚ ๋ฆฌ๊ธฐ 
		for(String s : list) { // ํ™•์žฅ for๋ฌธ
			System.out.println(s + " ");
		}
		System.out.println();
		
		
		List<String> list2 = Arrays.asList("์„œ์šธ", "๋Œ€์ „", "์šธ์‚ฐ");
		for(String s: list2) {
			System.out.print(s + " ");
		}
		System.out.println();
		list2.add("์ธ์ฒœ");
		for(String s: list2) {
			System.out.print(s + " ");
		}
		System.out.println(); // ์ถ”๊ฐ€ ๋ถˆ๊ฐ€๋Šฅ 
	}
}

 

 



์ถ”๊ฐ€ ๋ถˆ๊ฐ€๋Šฅ

 

 

 

 


Map

package com.gyuone.collection;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class MapExam01 {
	public static void main(String[] args) {
		Map<String, Integer> map = new HashMap<>();
		
		// HashTable() thread safe ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ๋กœ ๋™์‹œ์— ๊ณต์œ ํ•˜๋ ค๋ฉด HashTable๋กœ ์ดˆ๋Œ€ 
		map.put("๊ตญ์–ด", 90);
		map.put("์˜์–ด", 85);
		map.put("์ˆ˜ํ•™", 95);
		map.put("๊ณผํ•™", 100);
		System.out.println(map.size()); // ๋ฐฐ์—ด ์‚ฌ์ด์ฆˆ 
		
		System.out.println("์˜์–ด์ ์ˆ˜ : " + map.get("์˜์–ด"));
		
		Set<String> keySet = map.keySet();
		Iterator<String> keyIterator = keySet.iterator(); // ํŒŒ์ด์ฌ์—์„œ generator 
		// ๋‹ค ๊ฐ–๊ณ  ์žˆ๋Š” ์ƒํƒœ์—์„œ ํ•˜๋‚˜์”ฉ ์ค€๋‹ค. 
		while(keyIterator.hasNext()) { // ๊บผ๋‚ด์˜ฌ ๊ฐ’์ด ์žˆ๋Š๋ƒ
			String key = keyIterator.next();
			int value = map.get(key);
			System.out.println(key + " : " + value + " ");
		}
		System.out.println();
		
		// ๋‘๋ฒˆ์งธ ๋ฐฉ๋ฒ•
		Set<Map.Entry<String, Integer>> entrySet = map.entrySet(); // ํ‚ค๋ž‘ value ๊ฐ™์ด ๋ฝ‘์•„ ์ฃผ๊ฒ ๋‹ค.
		Iterator<Map.Entry<String, Integer>> entryIterator = entrySet.iterator();
		while(entryIterator.hasNext()) {
			Map.Entry<String, Integer> entry = entryIterator.next();
			String key = entry.getKey();
			int value = entry.getValue();
			System.out.print(key + " : " + value + " ");
		}
		System.out.println();
	}
}

 

 

 

 

 


 

stream

 

 

package com.gyuone.collection;

import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.stream.Stream;

import com.gyuone.lambda2.Person;

public class StreamExam01 {

	public static void main(String[] args) {
		List<String> list = Arrays.asList("์„œ์šธ", "๋Œ€์ „", "์šธ์‚ฐ", "๋ถ€์‚ฐ");
		
		for(String s: list) {
			System.out.println(s + " "); // ๊ฐ„ํŽธํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ . ํ•˜๋‚˜์”ฉ ์ฐธ์กฐ
		}
		System.out.println();
		
		Iterator<String> iterator = list.iterator(); // ์—ฌ๋Ÿฌ ์ค„์„ ํƒ€์ดํ•‘ํ•˜๊ธฐ ํž˜๋“œ๋‹ˆ๊น hasNext๋กœ ๋„์ง‘์–ด๋‚ธ๋‹ค.
		while(iterator.hasNext()) {	// ์›๋ž˜ ์ด๋ ‡๊ฒŒ ์ผ๋‹ค.
			String city = iterator.next();
			System.out.print(city + " ");
		}
		System.out.println();
		System.out.println();
		
		Stream<String> stream = list.stream(); // ํ˜•ํƒœ์ƒ์œผ๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ stream
		stream.forEach(city -> System.out.print(city + " ")); // for each ๋‚ด๋ถ€์—์„œ ๋ฐ˜๋ณต 
		System.out.println(); // ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌํ• ๋•Œ ๋ณ‘๋ ฌ ์ŠคํŠธ๋ฆผ CPU ์ฝ”์–ด ๊ฐœ์ˆ˜๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹ค.
		
		List<Person> list2 = Arrays.asList(
				new Person("ํ™๊ธธ๋™", "๋‚จ์ž", 90),
				new Person("์ด์ˆœ์‹ ", "๋‚จ์ž", 95)
		);
		
		System.out.println();
		Stream<Person> stream2 = list2.stream();
		// ์ด๋ฆ„ ์ ์ˆ˜ ์ถœ๋ ฅ 
		stream2.forEach(person -> {
			String name = person.getName();
			int score = person.getScore();
			System.out.println(name + " : " + score + " ");
		});
		
		
	}

}

 

 

 

 


 

๋Œ“๊ธ€