성실한 사람이 되자

성실하게 글쓰자

This is spear

JAVA_SPRING/JAVA 7

HashSet, ArrayList, LinkedList, Vector 각 클래스 간의 특징과 공통점

HashSet, ArrayList, LinkedList, Vector 각 클래스 간의 특징과 공통점 HashSet, ArrayList, LinkedList, Vector의 공통점은 부모 클래스가 Collection 인터페이스를 상속받고 있다는 점이다. 인터페이스 특징 구현 클래스 List 순서가 있는 데이터의 집합, 데이터의 중복을 허용한다. ArrayList, LinkedList, Stack, Vector Set 순서를 유지하지 않는 데이터의 집합, 데이터의 중복을 허용하지 않는다. HashSet, TreeSet Vector Vector는 컬렉션이 만들어지기 전부터 존재하기 때문에 컬렉션 프레임워크의 명명법을 따르지 않는다. 해당 클래스는 호환을 위해 설계를 변경해서 남겨 뒀지만 사용하지 않는 것이 좋..

JAVA_SPRING/JAVA 2022.02.07

String 클래스에 대한 학습 테스트

요구사항 1 "1,2"을 ,로 split 했을 때 1과 2로 잘 분리되는지 확인하는 학습 테스트를 구현한다. "1"을 ,로 split 했을 때 1만을 포함하는 배열이 반환되는지에 대한 학습 테스트를 구현한다. “1,2”를 1과 2로 분리하는 학습 테스트 @Test void test1_1() { String[] strings = "1,2".split(","); assertThat(strings).contains("1", "2"); } “1”을 “,”로 분리했을 때, 1만을 포함하는 배열이 반환하는지 학습하는 테스트 @Test void test1_2() { String[] strings = "1".split(","); assertThat(strings).containsExactly("1"); } 요구사항 2..

JAVA_SPRING/JAVA 2022.02.05

Set Collection에 대한 학습 테스트

Set 데이터가 주어졌을 때 요구사항을 만족시키자 public class SetTest { private Set numbers; @BeforeEach void setUp() { numbers = new HashSet(); numbers.add(1); numbers.add(1); numbers.add(2); numbers.add(3); } // Test Case 구현 }요구사항 1 Set의 size() 메소드를 활용해 Set의 크기를 확인하는 학습테스트를 구현한다. @Test void checkSize() { assertThat(numbers.size()).isEqualTo(3); }요구사항 2 Set의 contains() 메소드를 활용해 1, 2, 3의 값이 존재하는지를 확인하는 학습테스트를 구현하려한다..

JAVA_SPRING/JAVA 2022.02.05

자바 기본자료형(Primitive data type)을 왜 사용할까?

Validation을 통해 데이터 타입이 들어오는 값을 검증하는 공부를 하면서 기본자료형에 null 타입이 들어오면 Null 예외가 발생해 오류가 던져지는 모습을 경험했다. 빈 칸도 받을 수 있다면 오류가 발생하지 않을텐데라는 생각을 했고, 왜 기본 자료형을 사용하는지 의문이 들었다. 하지만, 여러 자료들을 찾아보면서 내가 처음 생각한 방법부터 틀렸고, 기본 자료형과 참조 자료형을 적재 적소에 사용해야한다는 것을 알았다. 기본 자료형과 객체화된 기본 자료형의 차이 일단 기본 자료형과 객체화된 기본 자료형에 대한 차이를 알아봤다. identity의 유무 기본 자료형은 값만 가지는 상태이고, 객체화된 기본 자료형은 값 외에도 식별자라는 신원(identity)를 가진다. null 값의 존재 기본 자료형에 저장..

JAVA_SPRING/JAVA 2022.01.29

OpenAPI 데이터를 자바를 이용해 데이터를 받기(POSTMAN을 이용해 공공데이터 오픈API에 데이터 요청, Java, OkHttp 이용)

공공데이터에서 활용 신청을 받은 후 POSTMAN, OkHttp, Java를 이용해 데이터를 받아보도록 하겠습니다. POSTMAN에서 Request 요청을 받을 데이터들을 다 작성한 후 코드 스니펫으로 Java - OkHttp를 선택해 코드를 직접 보면 됩니다. 아래와 같은 코드가 나옵니다. OkHttpClient client = new OkHttpClient().newBuilder() .build(); MediaType mediaType = MediaType.parse("application/json"); RequestBody body = RequestBody.create(mediaType, "{\n \"businesses\": " + " [\n " + " {\n " + " \"b_no\": \"000..

JAVA_SPRING/JAVA 2021.08.04

자바 스트림(Java stream) - foreach() 메소드를 이용

스트림에 관한 설명은 이전 포스트를 확인하시면 됩니다. https://imspear.tistory.com/63 우선 데이터를 테스트할 수 있도록 DTO를 생성하겠습니다. DTO 생성 public class StudentDTO { String name; int age; int score_ma; int score_en; public StudentDTO(String name, int age, int score_ma, int score_en) { super(); this.name = name; this.age = age; this.score_ma = score_ma; this.score_en = score_en; } public String getName() { return name; } public void ..

JAVA_SPRING/JAVA 2020.08.22

자바 람다 표현식_자바 버전 8(Lambda expression in Java version 8)

Lambda 표현식 같은 경우는 Java version 8 이상부터 사용이 가능합니다. 자바 람다 표현식 클래스는 인터페이스에 메서드가 '하나'만 있어야 사용 가능하다는 점 꼭 유의해야 합니다. 자바 패키지에서 제공하는 인터페이스 중 메서드가 하나인 인터페이스들의 종류들입니다. java.lang.Runnable java.util.Comparator java.io.FileFilter java.util.concurrent.Callabe java.security.PrivilegedAction java.nio.file.PathMatcher java.lang.reflect.InvoatoinHandler 예제 예를 들어서 보여 드리겠습니다. 하나의 메소드가 존재하는 인터페이스를 호출하면 인터페이스 내에 존재하는 메..

JAVA_SPRING/JAVA 2020.06.24