Java(10)
-
자바 자료 구조 : 큐 - Queue
Queue 기본적인 자료 구조로 먼저 넣은 데이터가 먼저 나오는 First in First out 구조로 나타낸다. 먼저 넣은 데이터가 나중에 나오는 Stack과는 반대되는 구조이다. 큐는 주로 운영체제의 프로세스 스케줄링 방식을 구현하기 위해 많이 사용된다. 자바에서는 기본적으로 Queue 클래스를 제공해준다. add와 offer 메소드를 사용하여 데이터를 추가하고, poll이나 remove 메소드를 사용하여 데이터를 꺼낸다. 하지만 자바에서는 Queue 클래스를 단일로 사용하지는 못 하고 LinkedList와 같이 사용해야 한다. import java.util.Queue; import java.util.LinkedList; // 선언 Queue intQueue = new LinkedList(); QU..
2022.06.27 -
자바 자료 구조 : 배열 - Arrays & ArrayList
배열 - Arrays 데이터를 나열하고 각 데이터를 인덱스에 대응하도록 구성하는 데이터 구조 같은 종류의 데이터를 순차적이고 효율적으로 관리하기 위해 사용한는 구조 장단점 장점 : 빠른 접근 가능 - 인덱스 번호를 가지고 접근 단점 : 최대 길이를 미리 지정하기 때문에 데이터 추가 및 삭제에 대한 어려움이 있다. //new 키워드를 가지고 배열을 미리 선언 및 삽입 가능 Integer[] list = new Integer[5]; list[0] = 1; list[1] = 2; //list = {1, 2, _, _, _}; //위와 달리 선언시 데이터 삽입한 상태로 선언도 가능 Integer list[] = {1, 2, 3, 4, 5}; Integer[] list2 = {6, 7, 8, 9, 10}; 자바에..
2022.06.27 -
[JAVA] 객체 지향이란?
등장 C 언어 처럼 실행하고자 하는 순서대로 명령어 실행 -> 절차 지향 -> 절차 지향 언어라고 불림 대체적으로 간단한 로직을 순차적으로 처리하여 결과를 얻는데 -> 컴퓨터가 발전함에 따라 복잡도가 증가하고 유지 보수나 개발 기간 등 여러 방면에서 비 효율적이라 판단되었다. 이를 대체 하기 위해 효과적인 방식으로 개발을 하기 위해 객체 지향 개발 방법이 설계되었다. 특징 추상화 상속 은닉 재사용 인터페이스 여러 곳에서 객체 지향으로 개발을 시작한다. 현실에 존재하는 사물을 그대로 모델링해 행위와 속성을 정의하고, 실제 사물이 동작하는 방식으로 설계 사물 == Object 사물이 하는 행동 == Method 사물이 지닌 속성 == Variable 객체의 3가지 요소 3 가지를 유지해야 하고, 이를 유지 ..
2022.04.03 -
[Java] 입출력 - BufferedReader와 Scanner
최근 자바 문법 문제를 풀면서 입력으로 Scanner 클래스를 많이 사용하였다. 왜냐하면 학부 수업을 할 때 입력으로 Scanner 클래스만 배우고 BufferedReader에 대해서는 배우지 못했다. 물론 따로 알아보려고 하지 않은 내 잘못도 있긴 하지만, 문제를 풀면 Scanner 클래스는 거의 100ms 이상의 시간이 소요되었다. 어떻게 하면 이 시간을 더 줄일 수 있나 찾아보다가 BufferedReader에 대한 존재를 알게 되었다. 그래서 BufferedReader와 Scanner 함수를 다시 공부하고 둘의 차이점을 내가 이해한 대로 적어보겠다. 1. Scanner import java.util.Scaner; 사용을 위해 java.util.*; 임포트를 해주어야 한다. 최대 버퍼 사이즈는 102..
2022.02.07