반응형

구현

    Deque를 직접 구현해보기

    큐는 삽입과 삭제가 리스트의 한쪽 방향에서만 이루어지지만 deque는 리스트의 양쪽 끝 모두에서 이루어질 수 있다. 따라서 양쪽 방향 모두 삽입과 삭제가 이루어질 수 있으므로 기존의 큐나 스택으로 사용할 수 있어 유연하게 사용할 수 있다. 사진출처 : https://dh00023.github.io/algorithm/ds/2018/04/25/algorithm-10/ 이런 Deque를 직접 구현해 보자. 우선 Deque의 기능을 정리한 인터페이스이다.1234567891011121314151617181920212223package practice3; public interface Deque { public void addFirst(T item); public void addLast(T item); public..

    Java8 인터페이스 default Method (디폴트 메소드)

    인터페이스의 디폴트 메서드 Java8에서 추가된 람다식을 제외하고도 편리한 기능이 추가되었다. 그 중 하나가 인터페이스의 default 메소드이다. Java8에서는 interface에 default 키워드를 통해 메서드를 구현할 수 있다. 또, 이를 구현하는 클래스는interface의 메서드를 @Override 할 수 있다. Default 매서드 구현 방법은 다음과 같다. 123456789101112131415161718192021222324252627282930// getName이라는 default 메소드 선언public interface WedulInterface { default String getName() { return "wedul"; }} // getName이 없는 DTO 클래스 생성publ..

    모든 객체의 공통 메서드 - 규칙 12 Comparable 구현을 고려하라.

    CompareTo 메서드는 Object에 선언되어 있지 않으며, Comparable 인터페이스에 포함된 유일한 메서드이다. Object의 equals 메서드와 비슷한 특성을 가지고 있으나, 동치성 검사를 넘어 순서 비교도 가능하다. Comparable 인터페이스를 구현한 객체들은 검색하거나, 정렬, 최대/최소 구하기 등이 간단하며 정렬도 다음과 같이 간단하게 진행 할 수 있다. Arrays.sort(a) 그렇기에 알파벳 순서나 값의 크기, 또는 시간적 선후 관계처럼 명확한 자연적 순서를 가지는 값을 가진 클래스를 구현할 때는 Comparable 인터페이스를 구현하는 것이 좋다. 1234Public interface Comparable { int compareTo(T t);} Colored by Color..

    정렬알고리즘 - 버블정렬

    1234567891011121314151617for(int i = money.length; i>0; i--){ for(int j=0;jmoney[j+1]){ temp=money[j]; money[j]=money[j+1]; money[j+1]=temp; } } }Colored by Color Scriptercs

    더블링크드 리스트 구현하기

    123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138package java8; public class Node { public Node next; public Node prev; private String value;..

반응형