자바 스트림(Stream)
2023. 4. 6. 16:26
JAVA
스트림은 데이터 소스를 추상화 하고, 데이터를 다루는데 자주 사용되는 메소드들을 정의해 놓았다. 컬렉션에 저장되어있는 엘리먼트들을 하나씩 순회하면서 처리할 수 있는 코드 패턴. 람다식과 함께 사용되어 컬렉션에 들어있는 데이터에 대한 처리를 매우 간결한 표현으로 작성할 수 있음 스트림 생성 - 배열 스트림 String[] arr = new String[]{"a", "b", "c"}; Stream stream = Arrays.stream(arr); Stream streamOfArrayPart = Arrays.stream(arr, 1, 3); // 1~2 요소 [b, c] - 컬렉션 스트림 : 인터페이스에 추가된 디폴트 메소드 stream 을 이용해서 스트림을 만들 수 있습니다. public interface..
[Java] 배열 자르기
2022. 12. 16. 21:42
JAVA/JAVA실습문제
- 정수배열 numbers와 정수 num1, num2가 매개변수로 주어질때, numbers의 num1번째 인덱스부터 num2번째 인덱스까지 자른 정수 배열을 return 하기 문제풀이 1) .copyOfRange() 메소드 이용하기 copyOfRange(원본배열, 복사 시작할 인덱스 , 마지막으로 복사될 배열요소의 다음인덱스) import java.util.*; class Solution { public int[] solution(int[] numbers, int num1, int num2) { return Arrays.copyOfRange(numbers,num1,num2+1); } } >> java.util패키지를 import해줘야함 문제풀이 2) for문 이용 하기 class Solution { pu..
4 반복문 _ 중첩 for문 실습문제
2022. 11. 11. 15:23
JAVA/JAVA실습문제
--중첩 for문 1) 아래의 형식으로 숫자 출력하기 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 public void method13() { for(int j=0;j 안쪽for문 for(int i=1; i 2행 2열일때 2출력 **3* => 3행 3열일때 3출력 ***4 => 4행 4열일때 4출력 public void method15() { // => 행수와 열수가 일치할 경우 => 숫자(그때 당시의 행수 또는 열수 ) // => 그게 아닐경우 => * 출력 for(int i=1; i
API 실습문제 _ SimpleDateFormat/ StringTokenizer 등
2022. 11. 10. 17:48
JAVA/JAVA실습문제
1. 날짜 형식을 "xxxx년 xx월 xx일" 형태의 문자열 형식으로 만들기 SimpleDateFormat sdf = new SimpleDateFormat("yyyy년 MM월 dd일"); String str = sdf.format(publishDate); 2. 매개변수로 전달받은 newDate값 ==> String --> Date로 변환 작업 (Date publishDate에 담으시오) // '-'를 구분자로 StringTokenizer를 이용하여 문자열 분리 후 각각 년,월,일 을 Date에 적용 //1) StringTokenizer를 이용한 방법 // 1_1) StringTokenizer를 이용하여 먼저 "2020-07-01" 을 각각 문자열로 분리("2020", "07", "01") StringTo..
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