목록STUDY/JAVA | SPRING (13)
Developer N
JSON(JavaScript Object Notation)이란 JavaScript에서 객체를 표현하는 방법. 다양한 프로그래밍 언어에서 데이터를 주고받기위해 사용한다. XML 등과 같이 데이터를 표현하는 일종의 데이터 표현 표준이다. 장점 1) 가독성 : 객체의 구조를 파악하기 쉽다 2) 가벼움 : JSON 이전에 사용하던 XML에 비해 가볍다 3) 플랫폼 독립적 : 특정 언어나 플랫폼에 독립적이어서 JSON 형식만 잘 지킨다면 어떤 시스템이든 데이터 교환이 가능하다. 또한 대부분의 언어에서 JSON 라이브러리를 제공하기 때문에 편리하다. JSONObject, JSONArray 사용법 1) JSONObject JSONObject는 객체를 JSON 객체로 바꿔주거나 JSON 객체를 새로 만드는 역할을 한다..
api로 가져온 List에서 각 Object의 특정 필드값만 따로 추출할 필요가 있었다. for문을 사용하여 각 객체에서 get을 통해 필드 값을 추출하는 방법도 있었지만, 자바8에서 새로 추가된 기능인 strem()을 활용하여 코드를 간결하게 작성해보았다. 간단한 예제로 정리를 해보자면 @Getter public class PersonDto { private String name; private Integer age; } 위와 같은 객체로 이루어진 List personList에서 stream()을 이용하여 name 값만 추출하여 List으로 만들어보자. List nameList = personList.stream().map(PersonDto::getName).collect(Collectors.toLis..
db에서 받아온 문자열 값을 특정 길이만큼 잘라서 줄바꿈을 해야하는 경우가 생겼다. 예를 들면 문자열 "가나다라마바사아자차카타파하"을 고정길이 4로 설정하여 자를 경우 아래처럼 4개의 요소로 분할된다. 가나다라/마바사아/자차카타/파하 이처럼 Java에서 특정 길이만큼 문자열을 분할하는 방법을 알아보자. 1. String 클래스의 substring 메서드 String title = "가나다라마바사아자차카타파하"; int maxLen = 4; int arraySize = (int) Math.ceil((double)title.length() / maxLen); String[] titleArray = new String[arraySize]; int index = 0; for(int startIndex = 0; ..
List x.containsKey("원하는 Key값").map(m -> m.get("원하는 Key값").toString()).collect(Collectors.toList()); mapList를 stream 반복자로 필요한 값들만 List에 담는 방법이다. stream이란 Iterator와 비슷한 역할을 하지만 람다식으로 요소 처리 코드를 제공해 코드가 좀 더 간결하다는 장점이 있다. 또한 내부반복자를 사용하기 때문에 병렬처리가 쉽고 실행이 더 빠르다. filter는 요소를 특정 기준으로 걸러낼 수 있다.filter() 안의 조건이 참이라면 true 거짓이라면 falst로, true일 경우 다음으로 계속 진행된다. 여기서는 containsKey()를 사용하여 mapList에서 해당 키값이 존재하는지를 알..
자바 스트림(Stream) 자바의 스트림(Stream)은 Java 8에 추가된 기능으로, 컬렉션에 저장되어 있는 요소들을 하나씩 참조하여 람다식으로 처리하는 코드패턴이다. 람다식과 함께 사용하므로 데이터의 처리 과정을 간결하게 작성할 수 있으며, 내부 반복자라는 것을 사용하여 병렬처리가 쉽다. 스트림 활용 filter() 요소들을 조건에 따라 걸러내준다. ArrayList list = new ArrayList(Arrays.asList(1, 2, 3, 4, 5)); list.stream().filter(idx -> (idx > 1)).forEach(System.out::println); // 결과 // 2, 3, 4, 5 sorted() 리스트의 요소를 정렬한다. ArrayList list = new Ar..