본문 바로가기
반응형

자바5

[Java] 문자열 클래스 1. String 객체의 메모리 문자열을 다루는 String 클래스는 데이터가 변하면 메모리 상의 변화가 많아 속도가 느리다. String str = "JAVA"; str = str + "_8"; 메모리상에 JAVA 라는 문자열이 저장되고 그 시작점 주소를 str이라는 변수가 갖게 됨 근데 JAVA라는 문자열에 _8을 붙이게 되면 기존의 객체를 버리고 메모리상에 JAVA_8을 작성하고 str이 변경된 주소를 갖게 되므로 속도가 느리다! 2. StringBuffer, StringBuilder StringBuffer sf = new StringBuffer("JAVA"); sf.append("_8"); String 클래스의 단점을 보완한 클래스로 데이터가 변경되면 메모리에서 기존 객체를 재활용한다. (Stri.. 2022. 9. 4.
[Java] 람다식 1. 람다식이란? 함수를 하나의 식으로 표현한 것 익명 함수의 한 종류라고 볼 수 있다. 2. 람다식을 사용하는 이유 간결성 불필요한 코드 감소 가독성 코드의 재사용성 병렬 프로세싱 지연실행(실제로 코드가 사용될 때까지 지연시켰다가 필요할 때만 동작하여 자원낭비 X) 3. 람다식 구현 4. 람다를 이용한 Runnable 구현 자바에서 멀티 쓰레드 프로그램을 작성할 때, Runnable 인터페이스를 구현한 클래스가 필요한데, 이때 간단하게 run() 메소드만 구현하면 되므로 람다식이 유용하다. Thread thread = new Thread(new Runnable() { @Override public void run() { System.out.println("Start Thread"); Thread.sle.. 2022. 9. 4.
[Java] Queue *큐 기본 문법 1. Queue 큐는 자료구조에서 먼저 들어온 데이터가 먼저 처리되는 경우 자주 사용한다. 그래서 큐는 데이터를 넣을때는 항상 뒤에 넣고 (enqueue) 데이터가 나갈때는 가장 앞에 있는 데이터가 나간다. (dequeue) 보통 처리 순서가 정해져있는 문제에서 많이 쓴다 (BFS 할때도 넘 편함 히히) 2. 기본 문법 1) 큐 객체 선언하기 import Java.util.Queue; import Java.util.LinkedList; public class Main { public static void main(String[] args) { Queue q = new LinkedList(); } } 2) 요소 추가하기 //선언 Queue q = new LinkedList(); int count = 1; .. 2022. 8. 29.
[프로그래머스] 스택/큐 > 기능개발(C++, Java) 문제 설명 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때 각 배포마다 몇 개의 기능이 배포되는지를 return 하도록 solution 함수를 완성하세요. 제한 사항 작업의 개수(progresses, speeds배열의 길이)는 100개 이하입니다. 작업 진도는 100 미만의 자연수입니다. 작업 속도는 100 이하의 자.. 2022. 8. 29.
728x90
반응형