분류 전체보기 477

[JAVA] 배열 초기화(Arrays.fill() 메소드 / 배열 값 채우기)

자바에서는 배열을 하나의 값으로 간단하게 초기화 할 수 있다. ​ 배열의 값을 초기화 하는 방법으로 2가지가 있는데 1. For 문, 반복문의 사용 int test[] = new int[100]; for(int i=0;i 둘의 결과값은 똑같다. ​ Arrays.fill() 메소드를 이용하면, - int형 배열, - Double형 배열, - Boolean형 배열, 등등 ​ 모든 배열에 동일하게 적용된다. ​ (Boolean형 배열 초기화 예제) boolean bool[] = new boolean[10]; Arrays.fill(bool,true);

Java/Java 문법 2021.04.28

[JAVA] Map 컬렉션 클래스

Map 컬렉션 클래스 Map 인터페이스는 Collection 인터페이스와는 다른 저장 방식을 가집니다. Map 인터페이스를 구현한 Map 컬렉션 클래스들은 키와 값을 하나의 쌍으로 저장하는 방식(key-value 방식)을 사용합니다. 여기서 키(key)란 실질적인 값(value)을 찾기 위한 이름의 역할을 합니다. Map 인터페이스를 구현한 모든 Map 컬렉션 클래스는 다음과 같은 특징을 가집니다. 1. 요소의 저장 순서를 유지하지 않습니다. 2. 키는 중복을 허용하지 않지만, 값의 중복은 허용합니다. 대표적인 Map 컬렉션 클래스에 속하는 클래스는 다음과 같습니다. 1. HashMap 2. Hashtable 3. TreeMap 1. HashMap 클래스 HashMap 클래스는 Map 컬렉션 클래스에서 ..

Java/Java 문법 2021.04.28

[JAVA] 자바 HashSet, TreeSet (Set 컬렉션 클래스)

1. Set 컬렉션 클래스의 특징 1) 요소의 저장순서를 유지하지 않느다. 2) 같은 요소이 중복저장을 허용하지 않느다. ( 즉, HashSet을 이용하면, 중복값을 쉽게 제거할 수 있다.) ​ Set 컬렉션 클래스의 종류 1. HashSet 2. TreeSet ​ 2. HashSet 클래스 - 가장 많이 사용하는 Set 클래스 - 해시 알고리즘을 사용하여 검색속도가 매우 빠름 - 내부적으로 HashMap 인스턴스를 이용하여 요소를 저장 ​ - 저장순서를 유지해야한다면 LinkedHashSet을 이용하여야 함 ​ HashSet 예제 HashSet hs01 = new HashSet(); HashSet hs02 = new HashSet(); // add() 메소드를 이용한 요소의 저장 hs01.add("홍길..

Java/Java 문법 2021.04.28

[JAVA] 컬렉션 프레임워크 개념(List, Set, Map)

1. 자바 컬렉션 프레임 워크란 - 자바에서 컬렉션 프레임워크(Collection Framwork)란 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합니다. ​ - 쉽게말해, 데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해 놓은 일종의 인터페이스로 볼 수 있습니다. ​ 2. 컬렉션 프레임워크 주요 인터페이스 컬렉션 프레임워크에서는 데이터를 저장하는 자료 구조에 따라 다음과 같은 핵심이 되는 주요 인터페이스를 정의하고 있습니다. 1. List 인터페이스 2. Set 인터페이스 3. Map 인터페이스 ​ 구조상의 차이로 List와 Set / Map을 별도로 정의하긴 합니다. 그림으로 그 차이를 보면 이렇습니다. ​ 3. 주요 인터페이..

Java/Java 문법 2021.04.28

[TCP/IP] 6장. 멀티 스레드

1. 스레드 기초 1) 소켓 응용 프로그램과 멀티 스레드 ● TCP 서버 - 클라이언트의 문제점 클라이언트 2개 이상이 서버에 접속할 수는 있으나, "서버가 동시에 클라이언트 2개 이상에 서비스할 수 없다." 서버와 크라이언트의 send(), recv()함수의 호출 순서가 맞아야한다. 데이터를 보내지 않은 상태에서 양쪽에서 동시에 recv()함수를 호출하면 교착 상태가 발생할 수 있다. ● 1번 문제의 해결방법들과 장단점 방법1. 서버가 각 클라이언트와 연결해 통신하는 시간을 짧게 줄인다. 클라언트가 데이터를 전송하기 전에 매번 서버에 접속하고, 전송 후에는 곧바로 접속을 끊는 방식 장점 쉽게 구현 가능 서버의 시스템 자원을 적게 사용 단점 파일 전송 프로그램과 같이 대용량 데이터를 전송하는 응용프로그램..

[JAVA] 자바 Math 메소드 정리 (수학 함수 정리)

자바 대표적인 Math 메소드 Math 클래스의 메소드는 매우 다양하며, 그중에서 많이 사용되는 메소드는 다음과 같습니다. 메소드 설명 static double random() 0.0 이상 1.0 미만의 범위에서 임의의 double형 값을 하나 생성하여 반환함. static double abs(double a) static double abs(float a) static double abs(int a) static double abs(long a) 전달된 값이 음수이면 그 값의 절댓값을 반환하며, 전달된 값이 양수이면 인수를 그대로 반환함. static double ceil(double a) 전달된 double형 값의 소수 부분이 존재하면 소수 부분을 무조건 올리고 반환함. static double fl..

Java/Java 문법 2021.04.26

QGIS 설치 및 실행하기( Shapefile에 대하여 shp, shx, dbf)

졸업작품으로 길안내 지도를 만드는 중 도로정보가 필요해서 알아보는 중 www.juso.go.kr/addrlink/devLayerRequestWrite.do 정부에서 도로명주소 전자지도 데이터를 제공한다는 걸 알게되었다.. 이 데이터가 shp? shx? 라는 처음보는 형태의 파일이 되어있기에 기록을 위해 남긴다. 1. Shapefile shapefile 형식은 지리 정보 시스템 소프트웨어를위한 지리 공간 벡터 데이터 형식입니다. (위키백과) 단순하게, ShapeFile은 공간지리 정보 데이터를 담고있는 디지털 지도이다. shapefile은벡터형식이며점,선,도형으로표현되며, 그 속성을 가지고 있다. shapefile을 하나의 파일포맷이라고 생각하지만 사실, 3개의 확장 포맷을 통틀어 shapefile이라고 ..

QGIS(지리정보) 2021.04.20

[JAVA] 자바 iterator 반복자 / iterator 와 ListIterator

1. iterator(반복자) ​ - iterator란 쉽게말해 자바에서 제공해주는 인터페이스 입니다. ​ - 자바 컬렉션 인터페이스 (쉽게 List, Set 등등으로 이해) 에서는 iterator 인터페이스를 구현한 클래스의 인스턴스를 반환하는 iterator() 메소드를 정의하여 각 요소에 접근하도록 합니다. ​ 2. iterator 인터페이스 메소드 메소드 설명 boolean hasNext() 해당 이터레이션(iteration)이 다음 요소를 가지고 있으면 true를 반환하고, 더 이상 다음 요소를 가지고 있지 않으면 false를 반환함. E next() 이터레이션(iteration)의 다음 요소를 반환함. default void remove() 해당 반복자로 반환되는 마지막 요소를 현재 컬렉션에서..

Java/Java 문법 2021.04.19

[java] 자바 출력 스트림 (StringBuider 와 bufferedWriter 차이점, bufferedWriter 한계)

백준 1874번 알고리즘 문제를 풀다가 짧게 2가지의 차이점에 대해서 기록해 놓을려고 한다. ​ 먼저 1. BufferedWriter - BufferedReader 와 BufferedWriter 를 함께 쓰는 사람이 굉장히 많다 나도 그렇고, ​ - 만능처럼 생각하며 사용을 해왔는데 BufferedWriter의 한계점을 발견하였다. ​ (결론) - BufferedWriter 는 비동기적 버퍼 스트림이므로, 입력받은 데이터가 받아져서 버퍼가 꽉차버리면, 버퍼안에 있는 데이터를 자동적으로 비운다.(출력한다.) ​ - flush() 함수를 사용하는 이유는 버퍼가 다차지 않았는데 출력을 하기 위해서 이다. ​ ​ 2. StringBuider - StringBuider는 한마디로 변경가능한 문자열이다. ​ Str..

Java/Java 문법 2021.04.19

[java] 자바, 큐 (Queue, Deque)

큐(Queue) FIFO(First in First out) 쉽게 말해서 큐는, 먼저들어간 데이터가 먼저 나가는 자료구조 형태이다.(선입선출) ​ 1. java에서의 큐 (클래스 사용법) Queue q = new LinkedList(); E : 자료형 ​ 2. 큐 함수 [삽입] q.offer(Data); ​ [추출] q.poll(); //맨 앞에 데이터 추출 후 삭제 q.peek(); //맨 앞에 데이터 조회만(삭제 x) ​ [크기] q.size(); q.isEmpty(); /비어있는지 확인 q.size(); q.isEmpty(); /비어있는지 확인 ​ 덱,데크(Deque) Stack + Queue​ ​ 1) 스택과 큐의 혼합형(?) ​ 2) 스택의 장점과 큐의 장점을 둘다 사용할 수 ..

Java/Java 문법 2021.04.19