๊ด€๋ฆฌ ๋ฉ”๋‰ด

๐Ÿฆ• ๊ณต๋ฃก์ด ๋˜์ž!

Java ์ฝ”๋“œ๋ฆฌ๋ทฐ...1 forEach ๋ณธ๋ฌธ

Development/Java

Java ์ฝ”๋“œ๋ฆฌ๋ทฐ...1 forEach

Kirok Kim 2021. 12. 11. 23:59
public class ๋„์„œ๊ด€_๋„์„œ๋Œ€์—ฌ_๊ด€๋ฆฌํ”„๋กœ๊ทธ๋žจ {
	private static Scanner sc = new Scanner(System.in);
	private static BookManager bookMgr = new BookManager();
	private static MemberManager memberMgr = new MemberManager();
  • ๊ธฐ์กด๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ ์ถœ๋ ฅ ๋ถ€๋ถ„์— ํ•ด๋‹นํ•˜๋Š” ๊ณณ์˜ ๊ธธ์ด๋ฅผ ์ข€ ์ ๊ฒŒ ์ถœ๋ ฅํ•˜๊ณ ์ž Manager์ด๋ผ๋Š” ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๊ฐ์ฒด๋ฅผ ํ†ตํ•ด ๋ฉ”์„œ๋“œ๋ฅผ ๋ถˆ๋Ÿฌ์˜จ๋‹ค.
private static void ํšŒ์›์‚ญ์ œ() {
		System.out.println("์‚ญ์ œํ•  id ์ž…๋ ฅ>> ");
		String id = sc.nextLine();
		boolean b = memberMgr.remove(id);
		
		if( b ) {
			System.out.println("์‚ญ์ œ ์„ฑ๊ณต!");
		}else {
			System.out.println("์‚ญ์ œ ์‹คํŒจ!");
		}
		
	}
  • ํšŒ์› ์‚ญ์ œ ๋ถ€๋ถ„์€ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์–ด boolean ํƒ€์ž…์œผ๋กœ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•ด๋‚ด์„œ if๋ฅผ ํ†ตํ•ด ์ถœ๋ ฅํ–ˆ๊ณ 
private static void delBook() {
		System.out.println("์‚ญ์ œํ•  ์ฑ… isbn ๊ฒ€์ƒ‰");
		int isbn = sc.nextInt();
		sc.nextLine();
		try {
			BookM.findBook(isbn);
			bookM.remove(BookM.findBook(isbn));
			System.out.println("์‚ญ์ œ์™„๋ฃŒ");
		} catch (Exception e) {
			System.out.println("ํ•ด๋‹น ๋„์„œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค");
		}
  • ๋‚˜๋Š” try catch๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ถœ๋ ฅ์„ ํ•ด๋ƒˆ๋‹ค. ๊ธฐ๋Šฅ์ƒ ํฐ ์ฐจ์ด๋Š” ์—†๋‹ค.
public static Book findBook(String title) {
	bol.forEach(c -> bo2 = (c.getTitle().equals(title)) ? (Book) c : null);
	return bo2;
}

public static Book findBook(int isbn) {
	bol.forEach(c -> bo2 = (c.getIsbn() == isbn) ? (Book) c : null);
	return bo2;
}
  • ๋ชฉ์ ์— ๋งž๊ฒŒ๋” ์œ„์˜ ์ฝ”๋“œ์ฒ˜๋Ÿผ ๋งค๋‹ˆ์ € ํด๋ž˜์Šค ๋‚ด์— ๋ฉ”์„œ๋“œ๋ฅผ ์˜ค๋ฒ„๋กœ๋”ฉํ•˜์—ฌ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
  • ๋žŒ๋‹ค์‹์„ ๊ณ„์† ๋“ฃ๊ธฐ๋งŒ ํ–ˆ๊ณ  ๊ธฐ๋ณธ ํ˜•ํƒœ๋งŒ ๋ดค๋˜ ๋•Œ๋Š” ์‰ฝ๊ฒŒ๋งŒ ์ƒ๊ฐ์„ ํ–ˆ์—ˆ๋Š”๋ฐ ๊ทธ๊ฑธ ์กฐ๊ฑด์‹๊ณผ ๋ฌถ๋Š”๊ฒŒ ์กฐ๊ธˆ ๊นŒ๋‹ค๋กœ์›Œ ๊ทธ๊ฑธ ์ƒ๊ฐํ•˜๋Š”๋ฐ ์‹œ๊ฐ„์„ ์ข€ ์Ÿ์•˜์—ˆ๋‹ค. ๊ฒฐ๊ตญ์€ ์‚ผํ•ญ์‹์œผ๋กœ ํ•ด๊ฒฐ์„ ํ–ˆ๋‹ค! ใ…Žใ…Ž
BookM.getBol().forEach(c -> System.out.println(c.toString()));
  • ์œ„์˜ ์ฝ”๋“œ ๊ฐ™์€ ๊ฒฝ์šฐ์—๋Š” ์ „์ฒด ์ถœ๋ ฅํ•˜๋Š” ์ฝ”๋“œ์ธ๋ฐ get(i)ํ•œ ์ดํ›„ sysout์„ ํ•  ํ•„์š”์—†์ด ์ด๋ ‡๊ฒŒ ํ•œ ์ค„๋กœ๋„ ์™„์„ฑ์ด ๋œ๋‹ค. ์•„๋ฌด๋ž˜๋„ ์‚ผํ•ญ์‹ ์ด์šฉํ•˜๋‹ค ๋ณด๋‹ˆ ์ „๋ณด๋‹ค๋Š” ์กฐ๊ธˆ ์ž‘์„ฑํ•˜๋Š”๋ฐ ํŽธํ–ˆ๋‹ค.
li.forEach(System.out::println);
li.forEach(c->System.out:println(c));
  • ์œ„์˜ ์ฝ”๋“œ๊ฐ€ ๋™์ผํ•˜๋‹ค๊ณ  ํ•˜๋‹ˆ ํ•œ ๋ฒˆ ์‚ฌ์šฉํ•ด๋ณด๋„๋ก ํ•˜์ž.
  • Collection์€ Iterator๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ถœ๋ ฅ์„ ํ–ˆ์œผ๋‚˜ ์ด์ œ๋Š” ์ฃผ๋กœ forEach๋กœ ์ถœ๋ ฅ์„ ํ•œ๋‹ค๊ณ  ํ•œ๋‹ค.
  • ๋‹ค์Œ ํฌ์ŠคํŠธ๋Š” Iterator์™€ ๋‹ค๋ฅธ Collection์ธ Set๊ณผ Map์„ ๋‹ค๋ฃจ๊ณ  Hash๋ฅผ ๋‹ค๋ฃฐ์˜ˆ์ •์ด๋‹ค.
(List)Arrays.asList();
  • forEach์˜ ๊ฒฝ์šฐ์—๋Š” ๋ฐฐ์—ด๋„ ์“ธ ์ˆ˜ ์žˆ์„ ๊ฑฐ๋ผ ์ƒ๊ฐํ–ˆ์ง€๋งŒ forEach๋Š” Collection์—์„œ๋งŒ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ ๊ฑธ ๋ช…์‹ฌ!
  • ํƒ€์ž…๋ณ€ํ™˜์„ ํ†ตํ•ด forEach๋ฅผ ์‚ฌ์šฉํ•˜์ž.

 

  •  ์•„๋ž˜์˜ ํ˜•ํƒœ๋ž‘ forEach๋ฌธ๊ณผ๋Š” ํฐ ์ฐจ์ด๋Š” ์—†์ง€๋งŒ ์ฝ”๋“œ์˜ ๊ธธ์ด๋ฅผ ์กฐ๊ธˆ์ด๋ผ๋„ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.
  • ํ–ฅ์ƒ๋œ for๋ฌธ
public static Book findBook(String title) {
	for(Book i: bol){
		if(i.getTitle().equals(title))
        	return i;
        }
        return null;
}
		
public static Book findBook(int isbn) {
	for(Book i: bol){
		if(i.getIsbn==isbn)
	        return i;
        }
        return null;
}

 

  • for ๋ฌธ
public static Book findBook(String title) {

	for(int i =0;i<bol.size();i++){
    	if(bol.get(i).getTitle().equals(title))
        return bol.get(i);
    }
        return null;
}
		
public static Book findBook(int isbn) {
	for(int i =0;i<bol.size();i++){
    	if(bol.get(i).getIsbn()==isbn)
        return bol.get(i);
        }
        return null;
}
  • return ํ˜•์ด ์–ด๋–ค ๊ฒƒ์ธ์ง€ ์ž˜ ํŒŒ์•…ํ•˜๊ณ  ์žˆ์œผ๋ฉด ์ฝ”๋“œ ์ž‘์„ฑํ•˜๋Š”๋ฐ ์ข€ ์ˆ˜์›”ํ•˜๋‹ค.

 

๊ฒฐ๋ก 

1. ํด๋ž˜์Šค๋ฅผ ๋”ฐ๋กœ ๋งŒ๋“ค์–ด ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ค„ํ•˜๋Š” ์‹์œผ๋กœ ์ด์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ฝค ๊น”๋”ํ•˜๊ฒŒ ๋งŒ๋“ค์–ด ์ง€๋Š” ๊ฒƒ ๊ฐ™๋‹ค.

2. ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ• ๋•Œ forEach๋ฅผ ์ด์šฉํ•œ ๋žŒ๋‹ค์‹์œผ๋กœ ๊ตฌ์„ฑ์„ ํ•ด๋ณด์ž

 

๋ฐ˜์‘ํ˜•

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

Mybatis...2  (0) 2021.12.15
JDBC  (0) 2021.12.13
Collection framework Set/Map  (0) 2021.12.12
Java ํด๋ž˜์Šค ๋ฐ ๋ฉ”์„œ๋“œ ์ •๋ฆฌ  (0) 2021.12.08
While(true){์ฝ”๋“œ๋ ฅ++;}...1  (0) 2021.12.07
Comments