Computer Science (252) 썸네일형 리스트형 Arrays sort vs collections sort 두개의 차이는 그냥 직관적으로도 정렬을 해주는 역할이고, Array.Sort는 배열을 정렬해주는 것이고 Collections.sort는 클래스의 객체를 정렬해주는 것이라고 생각이 든다. 파이썬에서는 sort가 있어서 너무 편했는데 자바는 없는 줄 알았지만 자바도 있었기 때문에 정리하려 한다. 1. Array.sort (오름차순) Array.sort는 java.util.Arrays에 포함되어 있다. 따라서 import를 시켜서 사용을 해야한다. 사용법에 대해서 알아보자. 위처럼 배열을 만들어서 java.util.Arrays를 import 시켜서 Arrays.sort(참조변수)를 하면 정렬이 된다. 정렬이 되는 기준은 오름차순으로 숫자 > 대문자 > 소문자 > 한글순 으로 정렬이 된다. 1-1) 배열 복사 .. 리스트를 돌릴땐 foreach를 사용하자 ! Java5 에서부터 for-each 문이 추가됐다. 특별히 새로운 문법이 추가된게 아니라 기존 for문을 활용하는거라 for-each라고하면 못알아듣는 사람도 있고, 향상된 for문이라고 말하는사람도 있고.. 특히 요즘엔 stream API에 forEach() 메서드까지 추가되면서 의사소통에 약간 혼란스럼이 있긴하지만 보면 다들 알것이다. List list = Arrays.asList(1, 2, 3, 4, 5); for(Integer i : list){ System.out.println(i); } for-each 문은 인덱스를 명시할 필요없이 알아서 리스트 사이즈만큼 반복되기때문에 에러여지도 없어지고 코드도 간결해지는 매우 유용한 문법이지만 한가지 치명적인 문제점이 있다. 그것은 인덱스를 사용할 수 없다.. 프로그래머스 완주하지 못한선수 (튜닝) import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; import java.util.stream.IntStream; public class algo { public static void main(String[] args) { String[] participant = {"leo", "kiki", "eden"}; String[] completion = {"eden", "kiki"}; solution(participant, completion); } public static class MarathonInfo { String[] p.. DTO란 ? spring을 사용하다보면 DTO, DAO, VO에 대한 용어에 대하여 많이 접하게 됩니다. 해당 개념에 대하여 간단하게 정리해보았습니다. DAO DAO(Data Access Object) 는 데이터베이스의 data에 접근하기 위한 객체입니다. DataBase에 접근 하기 위한 로직 & 비지니스 로직을 분리하기 위해 사용합니다. DTO DTO(Data Transfer Object) 는 계층 간 데이터 교환을 하기 위해 사용하는 객체로, DTO는 로직을 가지지 않는 순수한 데이터 객체(getter & setter 만 가진 클래스)입니다. 유저가 입력한 데이터를 DB에 넣는 과정을 보겠습니다. 유저가 자신의 브라우저에서 데이터를 입력하여 form에 있는 데이터를 DTO에 넣어서 전송합니다. 해당 DTO를 받.. Collection이란? Collection 이란? Collection 객체는 여러 원소들을 담을 수 있는 자료구조를 뜻한다 배열이 가장 기본적인 자료구조이며, DTO 또한 자료를 담는 하나의 방식이라고 볼 수 있다. 자바에서의 자료구조 유형은 다음과 같다. - 순서가 있는 목록인 List형 - 순서가 중요하지 않은 목록인 Set형 - 먼저 들어온 것이 먼저 나가는 Queue형 - KEY-VALUE의 형태로 저장되는 Map형 배열과의 차이점은 정적 메모리 할당이 아닌 동적 메모리 할당을 하게 된다. 즉, new int[4]을 하면 4개 공간밖에 못쓰고 미리 선언을 통해 4개의 공간을 만들어야 하지만, collection은 공간이 계속 필요한 만큼 추가될 수 있다. Collection 인터페이스에 선언된 주요 메서드 위의 그림을 .. 스트림 상세 자바의 정석(남궁성 저) 2권 학습내용 정리 1. 스트림(Stream) 스트림은 데이터 소스를 추상화하고, 데이터를 다루는데 자주 사용되는 메서드들을 정의해 놓았다. Collection이나 Iterator 같은 인터페이스를 이용해서 컬렉션을 다루는 방식을 표준화 했지만, 각 컬렉션 클래스에는 같은 기능의 메서드들이 중복해서 정의되어 있다. List를 정렬할 때는 Collection.sort()를 사용해야하고, 배열을 정렬할 때는 Arrays.sort()를 사용해야 한다. 이렇게 데이터 소스마다 다른 방식으로 다루어야하는 문제점을 해결해주는 것이 Stream 이다. // 기존 String[] strArr = {"aaa", "bbb", "ccc"}; List strList = Arrays.asList(str.. 프로그래머스 베스트앨범 import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; import java.util.stream.IntStream; import java.util.*; import static java.util.stream.Collectors.*; public class algo { public static void main(String[] args) { String[] genres = {"classic", "pop", "classic", "classic", "pop"}; int[] plays = {500, 600, 150, 800, 2500}; solution(genres, plays); } public static c.. Stream Map 메소드 개념 스트림은 파라미터로 제공되는 함수(Function관련된 함수형 인터페이스)를 적용해서 기존 요소를 새로운 요소로 매핑시키는 map이라는 메서드를 제공한다. 기존 값을 변경한다는 개념보다는 새로운 값을 만든다는 개념이므로 변환(transforming) 에 매핑(mapping) 이라는 단어를 사용한다. map의 기본 개념은 위의 이미지와 같다. 또한 map은 반환하는 형태에 따라 여러 메서드가 존재한다. mapToInt, mapToLong, mapToDouble, mapToObj가 다음에 해당한다. 일반 스트림과 기본형 특화 스트림은 위의 메서드 중에서 타입에 따라 3가지씩 가지고 있고 없는 메서드는 결국 자기 자신 타입의 스트림을 반환하는 것이기 때문에 map 메서드가 그 역할을 하는 것이다. 예를 .. 이전 1 ··· 20 21 22 23 24 25 26 ··· 32 다음