JAVA 86

폴더내 파일 검색

Path path = Paths.get("D:\\Desktop\\새 폴더 (6)"); // 1번 방법.. 많이 사용하는 방식(느리며, 효율적이지 않음) try(Stream stream = Files.walk(path)){ long cnt = stream.filter(s ->{ return !Files.isDirectory(s) && s.getFileName().toString().startsWith("applicationContext"); }).count(); System.out.println(cnt); } catch (IOException e) { e.printStackTrace(); } // 2번 방법.. 1번 방법보다 비교도 안되게 빠름. try(Stream stream = Files.find(pa..

JAVA/JAVA 2020.06.04

JAVA 브루토포스(BruteForce) 문자열 검색

public class BruteForce { /* 다른 문자를 만나면 패턴에서 문자를 검색했던 위치 결과를 버리고 다음 텍스트 위치로 이동하여, 다시 패턴의 처음부터 검사. text에서 pattern 을 검색하여 텍스트의 시작 위치를 반환한다. 없을 경우 -1 반환 */ public static int bfMatch(final String text, final String pattern){ int textPosition = -1; int patternPosition = 0; while(textPosition < text.length()){ textPosition += 1; if(text.charAt(textPosition) == pattern.charAt(patternPosition)){ // 현재 문..

JAVA/알고리즘 2020.06.04

JAVA Stream 기본

Stream이란? 컬렉션, 배열등의 저장 요소를 하나씩 참조하며 함수형 인터페이스(람다식)를 적용하며 반복적으로 처리할 수 있도록 해준다. 파이프 라인 방식의 코딩이 가능하도록 한다 간단 코드로 맛보기 // 리스트 출력 // 기존 방식 for (Integer num : list) { System.out.println(num); } // Stream 사용 list.stream().forEach(System.out::println); // 짝수 출력 // 기존 방식 for (Integer num : list) { if(num % 2 == 0) System.out.println(num); } // Stream 사용 list.stream().filter(n -> n % 2 == 0).forEach(System...

JAVA/Java Stream 2020.06.04