분류 전체보기 176

+29 라이브러리(IO) : 스트림, 직렬화(ObjectInputStream, ObjectOutputStream)

FileReader로 파일 읽기 -> 한글 안 깨짐 import java.io.*; import java.util.*; public class M1 { public static void main(String[] args) { try { FileReader fis = new FileReader("C:\\Users\\user\\eclipse-workspace\\6.14\\src\\com\\sist\\io\\M1.java"); int i=0; // read() -> int while((i=fis.read())!=-1) // -1 -> 문장이 끝날 때까지 { System.out.print((char)i); } fis.close(); // 형 변환 후 닫기 }catch(Exception ex) {} } } 파일 ..

수업 2022.06.14

+28 라이브러리(ArrayList), Stack, Queue, HashSet, TreeSet, HashMap, Collections, 어노테이션

ArrayList, Vector, LinkedList 사용 ㅡㅡㅡㅡ ArrayList ㅡㅡㅡㅡ 김가가 김나나 김다다 ㅡㅡㅡㅡ Vector ㅡㅡㅡㅡ 김가가1 김나나1 김다다1 ㅡㅡㅡㅡ LinkedList ㅡㅡㅡㅡ 김가가2 김나나2 김다다2 public static void main(String[] args) { ArrayList list1 = new ArrayList(); list1.add("김가가"); list1.add("김나나"); list1.add("김다다"); System.out.println("ㅡㅡㅡㅡ ArrayList ㅡㅡㅡㅡ"); for(Object obj:list1) { System.out.println(obj); } Vector list2 = new Vector(); System.out.p..

수업 2022.06.13

제네릭

데이터 형식에 의존하지 않고, 하나의 값이 여러 다른 데이터 타입들을 가질 수 있도록 하는 방법 우리가 흔히 쓰는 ArrayList, LinkedList를 생성할 때 다음과 같이 쓴다. 객체 객체명 = new 객체(); 아래와 같이 다이아몬드 연산자 안에 들어가는 타입을 지정해준다. ArrayList list1 = new ArrayList(); ArrayList list2 = new ArrayList(); LinkedList list3 = new LinkedList(); LinkedList list3 = new LinkedList(); 우리가 어떤 자료 구조를 만들어 배포할 때, String 타입도 지원하고 싶고, Integer 타입도 지원하고 싶고, 많은 타입을 지원하고 싶다. 그러면 String에 대..

Java 2022.06.13

제네릭

무엇이든 담을 수 있는 제네릭 제네릭 자료형 정의 -클래스에서 사용하는 변수의 자료형이 여러개일 수 있고, 그 기능(메서드)이 동일한 경우 클래스의 자료형을 특정하지 않고 추후 해당 클래스를 사용할 수 있게 선언 -컬렉션 프레임워크에서 사용 됨 제네릭 타입을 사용하지 않는 예제 -재료가 powder인 경우 public class ThreeDPrinter1 { private Powder material; public void setMaterial(Powder material) { this.material = material; } public Powder getMaterial() { return material; } } -재료가 Plastic인 경우 public class ThreeDPrinter2 { pr..

Map 인터페이스 구현 클래스

HashMap 클래스 활용하기 -가장 많이 사용되는 Map 인터페이스 기반 클래스 -key-value를 쌍으로 관리하는 메서드를 구현 함 -검색을 위한 자료 구조 -key를 이용해 값을 저장하고, key를 이용해 값을 꺼내오는 방식 - hash 알고리즘으로 구현 됨 -key가 되는 객체는 중복될 수 없고 객체의 유일성 비교를 위한 equals()와 hashCode() 메서드를 구현해야 함 {1001=Kim, 1002=Lee, 1003=Park, 1004=Hong} @Getter @Setter public class Member { // 멤버 변수 선언 private int memberId; private String memberName; // 생성자 초기화 public Member(int memberId..