본문 바로가기

반응형

JAVA

(11)
[JAVA] Jackson library - 1 지난 챕터에서 content-type이 application/json 이란것, 즉 통신 대상 데이터가 json 형태라는 것을 알게되었다. json parsing 을 위해 jackson library 를 사용해보자 1. jar files download - Jackson Core : https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core - Jackson Databind : https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind - Jackson Annotations : https://mvnrepository.com/artifact/com.fa..
[JAVA] Jackson library - 0 기존에 설계된 API 문서에 따라 서버측 API를 개발하던 중 Json parsing 이 필요한 부분이 있어 Jackson library를 사용하게 되었고, 그 과정을 적어두려한다. 클라이언트 측 : Http Request Body에 넣어둘거구요. Content-Type은 application/json 입니다. ???? 일단 공부부터 갈겼다... 웹보단 앱 쪽 플젝만 했었어서 HTTP에 대한 상세내용을 모르고있었다. Content Type Http Header에 쓰이는 정보로 Request에 실어 보내는 데이터(body)의 type 정보이다. 간단히 네가지 타입만 적어보겠다. TYPE Content-Type TEXT test/css, text/javascript, text/html, text/plain ..
[JAVA] Priority Queue PriorityQueue 란? 우선순위가 높은 순서대로 정렬되는 큐 자료구조 priority queue 구현 방법 우선순위 큐에 저장할 객체는 필수적으로 Comparable 인터페이스를 구현해야 한다. -> implement Comparable 그 다음 compareTo라는 메서드를 오버라이딩 해서 값이 크면 1을 값이 작으면 -1을, 같으면 0을 리턴해준다. 또한 get메서드를 만들어서 나중에 PQ에서 값을 불러올 수 있게 한다. PriorityQueue 주요 함수 offer : list의 add와 같다. isEmpty : Queue가 비었는지 확인 poll : 데이터 추출 priority queue 구현 소스 class Vehicle implements Comparable{ private String..
[JAVA] Map Map은 Key-Value로 구성되어있다. key는 중복저장이 안되지만 value는 가능하다. HashMap, Hashtable, LinkedHashMap, TreeMap 등이 있다. HashMap 해싱 검색을 사용하기 때문에 데이터 접근이 빠르다. HashTable HashMap은 null을 허용하고 FIFO(First in First out)인 반면 HashTable은 null을 허용하지 않고, FILO(First in Last out)이다. 또한 vector와 같이 특정 Thread가 접근 시 다른 Thread가 접근 할 수 없다. LinkedHashMap TreeMap 숫자 > 알파벳 대문자 > 알파벳 소문자 > 한글 순으로 key가 정렬된다.
[JAVA] Set Set이란 순서가 없고 원소간 중복값을 허용하지 않는다. 순서가 없기 때문에 검색 시에는 iterator() 메서드를 사용해야한다. 교집합, 차집합, 합집합과 같은 연산이 가능하며 HashSet, LinkedHashSet, TreeSet이 있다. HashSet Hash table에 원소를 저장하여 성능 면에서 가장 우수하다. LinkedHashSet 입력된 순서대로 데이터를 저장하는 HashSet이다. TreeSet red-black tree에 원소를 저장하며 이는 이진 검색트리 이므로 정렬, 검색에 높은 성능을 보인다. HashSet과 같이 중복된 데이터를 허용하지 않고, 기본적으로 오름차순으로 정렬되므로 HashSet보다는 성능이 느리다.
[JAVA] List List는 중복값을 허용하며 순서(인덱스)를 가지는 collection을 구현할 때 사용되며 ArrayList, Vector, LinkedList 등이 있다. Vector ArrayList와 구형원리가 같은 클래스이나 그 보다 속도가 느리다. 특정 Thread가 접근 시 다른 Thread가 접근 할 수 없다. 반면 ArrayList는 가능하다. ArrayList 기존의 vector를 개선한 것으로 동적 배열과 같다. 빠른 반복과 무작위 접근이 가능하지만 실행 속도는 배열보다 느리다. 하지만 중간에서 빈번하게 데이터의 삽입/삭제가 발생할 경우 처리가 복잡하다. LinkedList 데이터를 읽어오는데 걸리는 시간이 가장 빠르다. 단, 순차적인 데이터의 입력구조로 인해 중간에 삽입하려면 시간이 오래 걸린다. ..
[JAVA] Collections Framework Collection이란? Java에서 데이터를 저장하는 기본적인 구조들을 말한다. 또한 Java Collections Framework는 Collection을 표현하고 조작하기 위한 클래스와 인터페이스를 지원해준다. 크게 Set, List, Queue, Map 4개의 인터페이스로 나누어진다. Set : 순서X, 중복X List : 순서O, 중복O Queue : List와 유사, 데이터를 꺼내면 자동으로 삭제됨 Map : Key-Value 쌍으로 이루어진 데이터의 집합, 순서X, key 중복X, value 중복 자료구조 별 특징 참고 http://blog.breakingthat.com/2018/05/07/java-collection-%EA%B0%9C%EC%9A%94-%EC%9E%90%EB%A3%8C%EA%..
[JAVA] API란? 우리는 컴퓨터를 직접다루기 어려워서 OS를 설치한다. 그 위에 자바를 설치하고, 이를 이용해 프로그램을 만든다. 이 때 프로그램을 쉽게 만들기 위해 자바에서는 System, Date, Math 와 같은 내장된 기본 라이브러리를 제공한다. 이러한 부품들의 조작방법을 Applicaion Programming Interface(API)라고 한다. API(Applicaion Programming Interface)란? 응용프로그램 간에 데이터를 주고받는 방법으로 데이터를 주고 받는 양식, 인증, 호출 횟수 제한 등이 있다.

반응형