분류 전체보기
Java - 내부 클래스(inner class)
🌱 오늘의 주제 : 내부 클래스(inner class) 🌱 내부 클래스(inner class) 내부 클래스는 클래스 내에 선언된 클래스이다. 클래스에 다른 클래스를 선언한 이유 : 두 클래스 간에 서로 긴밀한 관계에 있기 때문이다. 두 클래스의 멤버들 간에 서로 쉽게 접근할 수 있다는 장점 코드의 복잡성을 줄일 수 있는 장점. (캡슐화) 🌱 내부 클래스의 종류와 특징 내부 클래스 특징 인스턴스 클래스(instance clasds) 외부클래스의 인스턴스 멤버처럼 다룬다. 주로 외부클래스의 인스턴스 멤버들과 관련된 작업에 사용 스태틱 클래스(static class) 외부클래스의 static 멤버처럼 다룬다. 주로 static메서드에서 사용. 지역 클래스(local class) 선언된 영역 내부에서만 사용 익..
01-2(반복) - 직각이등변삼각형 출력하기 (자바편)
🌏 주제 : 직각이등변삼각형 출력하기 🌏 문제 1. 직각이등변 삼각형을 출력하기 (왼쪽 아래가 지각, 왼쪽 위가 직각, 오른쪽 위가 지각, 오른쪽 아래가 직각) 2. 피라미드 별모양 출력하기 3. 숫자 피라미드 출력하기 🌏 문제 분석 package Chapter1; import java.util.Scanner; public class Q14 { public static void main(String[] args) { // 직각이등변삼각형 Scanner scan = new Scanner(System.in); System.out.print("몇 단 삼각형을 원하십니까?"); int n = scan.nextInt(); // 왼쪽 아래가 직각 for (int i = 1; i
Java - List를 이용한 쉽게 따라할 수 있는 코드 (상점에 판매할 물건 올리기)
🌱 오늘의 주제 : List를 이용한 상점에 판매할 물건 올리기 코드 모음. 🌱 List를 이용한 마켓에 판매할 물건 올리기 코드 모음. package Map; // 필드, getter, setter (데이터만 담음) public class Goods { // 필드 private String name; private int price; private String state; // 생성자 public Goods(String name, int price, String state) { this.name = name; this.price = price; this.state = state; } // getter public String getName() { return name; } public int getPr..
Java - HashMap
🌱 오늘의 주제 : HashMap 🌱 HashMap key와 value을 묶어서 하나의 데이터(entry)로 저장하는 특징 해싱(hashing)을 사용하기 때문에 많은 양의 데이터를 검색하는데 뛰어난 성능을 가지고 있음. key는 유일해야 한다. 저장순서 유지하지 않는다. value는 중복을 허용한다. key value myId 1234 asdf 1234 🌱 HashMap의 메서드 🌱 HashMap 예제 package chapter11_p; import java.util.HashMap; import java.util.Scanner; public class Ex11_16 { public static void main(String[] args) { // HashMap 예제1 HashMap map = new ..
Java - HashSet
🌱 오늘의 주제 : HashSet 🌱 HashSet Set 인터페이스를 구현한 가장 대표적인 컬렉션 중복된 요소를 저장하지 않는다. 저장 순서를 유지하지 않는다. 저장순서를 유지하고자 한다면 LinkedHashSet을 사용해야 한다. 🌱 HashSet 예제 package chapter11_p; import java.util.HashSet; import java.util.Iterator; import java.util.Set; public class Ex11_9 { public static void main(String[] args) { // HashSet 예제1 Object[] objArr = {"1", new Integer(1), "2", "2", "3", "3", "4", "4", "4"}; Set ..
Java - Arrays의 메서드
🌱 오늘의 주제 : Arrays의 메서드 🌱 Arrays의 메서드 - 복사 Arrays.copyOf() - 배열 전체를 복사 Arrays.copyOfRange() - 배열의 일부를 복사 , 범위의 끝은 포함되지 않는다. int[] arr2 = Arrays.copyOf(arr, arr.length); 🌱 Arrays의 메서드 - 채우기, 정렬, 검색 Arrays.fill() - 배열의 모든 요소를 지정된 값으로 채운다. Arrays.setAll() - 배열을 채우는데 사용할 함수형 인터페이스를 매개변수로 받는다. 함수형 인터페이스를 구현한 객체를 매개변수로 지정하던가 아니면 람다식을 지정해야 한다. Arrays.sort() - 배열을 정렬 Arrays.binarySearch() - 배열에서 지정된 값이 저..
01-2(반복) - 반복 과정에서 조건 판단하기 (자바편)
🌏 주제 : 반복 과정에서 조건 판단하기 🌏 문제 *를 n개 출력하되 w개마다 줄을 바꿔서 출력합니다. 🌏 문제 분석 package Chapter1; import java.util.Scanner; public class Ex1_14 { public static void main(String[] args) { Scanner stdIn = new Scanner (System.in); int n; int w; System.out.println("*를 n개 출력하되 w개마다 줄을 바꿔서 출력합니다."); do { System.out.print("n의 값: "); n = stdIn.nextInt(); } while (n
Java - LinkedList
🌱 오늘의 주제 : LinkedList 🌱 LinkedList 불연속적으로 존재하는 데이터를 서로 연결한 형태로 구성. 🌱 LinkedList의 삭제 데이터 삭제는 간단하다. 삭제하고자 하는 이전요소가 삭제하고자 하는 다음 요소를 참조하도록 변경하면 된다. 처리속도가 빠르다. 🌱 LinkedList의 추가 추가하고자 하는 위치의 이전 요소의 참조를 새로운 요소에 대한 참조로 변경해주고, 새로운 요소가 다음 요소를 참조하도록 변경. 처리속도가 빠르다. 🌱 ArrayList와 LinkedList의 비교 컬렉션 읽기(접근시간) 추가/삭제 비고 ArrayList 빠르다 느리다 순차적인 추가삭제는 더 빠름 비효율적인 메모리사용 LinkedList 느리다 빠르다 데이터가 많은수록 접근성이 떨어짐
Java - ArrayList
🌱 오늘의 주제 : ArrayList 🌱 ArrayList 메서드 🌱 ArrayList 가장 많이 사용되는 컬렉션 클래스 데이터의 저장순서가 유지 중복을 허용 배열에 순서대로 저장 배열에 더 이상 저장할 공간이 없으면 보다 큰 새로운 배열을 생성해서 기존의 배열에 저장된 내용을 복사 후 저장. package chapter11_p; import java.util.ArrayList; import java.util.Collections; public class ex11_1p { public static void main(String[] args) { ArrayList list1 = new ArrayList(10); list1.add(new Integer(5)); list1.add(new Integer(4));..