13.Collection_Map_Properties
2022. 11. 10. 15:14
JAVA
Properties : Map계열의 컬렉션 => 키+밸류세트 저장 -Propertise를 주로 사용하는 경우는 Properties에 담겨있는 것들을 파일로 출력 또는 입력받아 올 때 사용함 -입출력 메소드 store(): 파일로 저장(출력) load(): 파일로부터 불러오기 (입력) Properties prop = new Properties(); Properties 는 제네릭 설정이 안됨 1. setProperty(String key, String value) : Properties에 값 담는 메소드 prop.setProperty("List", "ArrayList"); prop.setProperty("Set", "HashSet"); prop.setProperty("Map", "HashMap"); prop..
13.Collection_Map_HashMap
2022. 11. 10. 14:59
JAVA
*map의 특징 : 키값과 데이터(value)를 세트로 저장, 순서 유지 안됨, key값은 중복안됨 -map의 여러 메소드 -HashMap 생성 구문 HashMap hm = new HashMap(); 1. ✔put(K Key, V value) : 키밸류 세트로 추가시켜주는 메소드 hm.put("다이제", new Snack("초코맛", 1500)); hm.put("칸초", new Snack("단맛",600)); hm.put("새우깡", new Snack("짠맛",500)); hm.put("포테이토칩",new Snack("짠맛",500)); System.out.println(hm);//{키 =value, 키=value ,..} >>출력결과 {다이제=Snack [flavor=초코맛, calory=1500], ..
13.Collection_ Set_ HashSet
2022. 11. 10. 14:46
JAVA
* Set 계열 특징 : 데이터만 저장가능 / 순서 유지 안함 /중복 객체 허용 안됨 HashSet hs1 = new HashSet(); hs1.add("반갑습니다."); hs1.add(new String("반갑습니다.")); hs1.add(new String("여러분")); hs1.add(new String("안녕하세요")); hs1.add(new String("여러분")); System.out.println(hs1); >> 출력결과 [안녕하세요, 여러분, 반갑습니다.] //->순서유지 안됨, 중복데이터(동일객체) 보관 불가 HashSet hs2 = new HashSet(); // 제네릭 설정해주면 타입 제한됨, 해당 객체 반환시 형변환 하지않아도됨 hs2.add(new Student("공유",43,8..
13. Collection_ List_ArrayList 와 Generic
2022. 11. 9. 10:56
JAVA
제네릭 을 사용하는 이유 * 1. 명시된 타입의 객체만 저장하도록 제한을 둘 수 있음 * 2. 컬렉션에 저장된 객체를 꺼내서 사용할 때 매번 형변환하는 절차를 없앨 수 있음 ArrayList쓸땐 항상 제네릭 설정 해줘야한다 -> 한가지 타입 담는 것이 보안에 용이 아래 Music객체를 ArrayList를 통해 생성 package com.br.chap01_list.part01_basic.model.vo; public class Music { private String title; private String artist; public Music() {} public Music(String title, String artist) { super(); this.title = title; this.artist = ..
13_ Collection _Collection과 List_ArrayList
2022. 11. 8. 19:20
JAVA
1. 컬렉션이란 ? 자료구조가 내장되어있는 자바 클래스로 자바에서 제공하는 "자료구조*를 담당하는 프레임워크*"이다. * >자료구조란 ? 방대한 데이터들을 효율적, 구조적으로 관리(조회,정렬,추가,수정,삭제)하기위한 개념 * >프레임워크란 ? 데이터나 기능들을 보다 쉽게 사용할 수 있도록 제공하는 틀 컬렉션이란 => 방대한 데이터들을 효율적으로 관리할 수 있는 기능들이 이미 내장되어있는 클래스! 2. 배열과 컬렉션의 차이점 (배열의 단점 vs 컬렉션의 장점) > 배열 - 크기에 대한 제약이 많음(배열생성시 크기지정 필수 , 한번 지정된 크기 변경불가) - 중간위치에 추가하거나 삭제하는 경우 값을 뒤로 또는 앞으로 땡겨주는 작업을 코드로 구현 - 한 타입의 데이터만 저장가능 > 컬렉션 - 크기에 대한 제약..
12. IO (IntputOutput) _객체 배열 입출력
2022. 11. 8. 14:15
JAVA
1. 프로그램 --> 파일(출력) public void fileSave() { Phone[] arr = new Phone[3]; arr[0] = new Phone("갤럭시",1200000); arr[1] = new Phone("아이폰",1300000); arr[2] = new Phone("플립",1500000); try(ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("e_phones.txt"))){ for(int i=0;i
12. IO (IntputOutput) _객체 입출력 (ObjectDao)
2022. 11. 8. 14:13
JAVA
-아래와 같은 Phone 클래스를 입출력하고자 함. -객체를 입출력할때에는 implements Serializable -> 직렬화과정 필수 package com.br.chap04_assist.part02_object.model.vo; import java.io.Serializable; public class Phone implements Serializable{ // 직렬화 //객체 자체를 입출력 하고자 한다면 반드시 직렬화과정 필수 private String name; private int price; //기본생성자, 매개변수 생성자, getter/setter / toString //단축키 alt+Shift+s public Phone() {} //매개변수 생성자 단축키 alt+Shift+s => o p..
12. IO (IntputOutput)_ Stream _ 보조스트림
2022. 11. 8. 14:07
JAVA
* 보조 스트림 == 기반스트림의 부족한 성능을 보다 향상시켜주는 역할 보조스트림 단독 사용 불가(반드시 기반스트림과 함께 사용) * BufferedXXXXXXX: 속도를 향상 시킨다거나 기반 스트림에서 제공하지 않는 메소드들을 제공 1. 프로그램 --> 파일(출력) // FileWriter : 파일과 직접적으로 연결해서 2byte단위로 출력할 수 있는 기반 스트림 // BufferedWriter : 버퍼라는 공간을 제공해주는 보조스트림(보조스트림은 기반스트림과 동일한 이름으로) - 속도향상 //try~ with~ resource 구문 사용 -> finally 구문 쓰지않아도 자동 스트림 반납됨 public void fileSave() { /* try~with~resource 구문을 이용하면 자원반납까지..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbgRkEi%2FbtrQFwghM1K%2Fdtlkk4MQPrI0CkpK7RI200%2Fimg.png)
12. IO (IntputOutput) _문자기반 Stream
2022. 11. 8. 13:40
JAVA
"문자 기반 스트림" - 문자스트림: 데이터를 2바이트 단위로 전송할 수 있는 넓은 통로 - 기반스트림: 외부매체와 직접적으로 연결되는 통로 * xxxReader : 입력용 스트림 * xxxWriter : 출력용 스트림 1. 프로그램 ---> 파일 (출력 ) //FileWriter(파일로 데이터를 2바이트 단위로 출력할 수 있는 스트림 public void fileSave() { FileWriter fw = null; try { //1. fileWriter 생성(통로 연결) fw = new FileWriter("b_char.txt"); //2. 데이터 출력(write 메소드) // 2byte단위로 데이터 전송 fw.write("와! IO재밌다..ㅎ"); fw.write(' '); fw.write('A')..
12. IO (IntputOutput) _바이트기반Stream
2022. 11. 7. 17:47
JAVA
Stream(스트림) : 입출력 장치에서 데이터를 읽고 쓰기 위해서 자바에서 제공하는 클래스 모든 스트림은 단방향이며 각각의 장치마다 연결할 수 있는 스트림 존재 하나의 스트림으로 입출력을 동시에 수행할 수 없으므로 동시에 수행하려면 2개의 스트림 필요 *스트림의 특징 - 단방향 :출력이면 출력용 스트림/ 입력이면 입력용 스트림 - 선입선출 (FIFO): 먼저들어간 데이터가 먼저 나가게됨 => 시간 지연(delay) 발생될 수 있음 *스트림의 구분 > 통로의 사이즈 (1byte / 2byte) -바이트 스트림: 1byte짜리 데이터만 왔다갔다 할수있는 좁은 통로(입력 InputStream/ 출력 OutputStream) -문자 스트림: 2byte짜리 데이터도 왔다갔다 할 수있는 넓은 통로 (입력 Read..