자바) Stream.of/ Arrays.stream/ Integer <-> int (23-05-18)
velog에서 이전한 글 입니다. Stream Stream.of/Arrays.stream int[] a = {1,2,3}; int[] b = {4,5}; String a = "hi my name is"; String[] b = a.split(" +"); Stream b1 = Stream.of(b); //참고 IntStream stream = Arrays.stream(a); Stream a1 = Stream.of(a); int[] c2 = Stream.of(a, b).flatMapToInt((v)->{ System.out.println(Arrays.toString(v)); return Arrays.stream(v); }).toArray(); System.out.println(Arrays.toString(c..
2023.07.13
자바) 람다식/ 메서드 참조/ stream (23-05-18)
velog에서 이전한 글 입니다. 람다식 메서드 참조 //생성자를 호출하는 람다식도 메서드 참조로 변환할 수 있다. Supplier s = () -> new MyClass(); Supplier s = MyClass::new; //배열 생성의 경우 Function f = x -> new int[x]; Function f = int[]::new; //매개변수의 개수에 따라 알맞은 함수형 인터페이스를 사용한다. BiFunction bf = (i, s) -> new MyClass(i,s); BiFunction bf = MyClass::new; 스트림 public static void main(String[] args) { ArrayList t = new ArrayList(); t.add(3); t.add(5);..
2023.07.13
자바) 함수형 인터페이스/ util.function (23-05-16)
velog에서 이전한 글 입니다. 람다식 @FunctionalInterface interface MyFunction { void run(); // public abstract void run(); } class Main { static void execute(MyFunction f) { // 매개변수의 타입이 MyFunction인 메서드 f.run(); } static MyFunction getMyFunction() { // 반환 타입이 MyFunction인 메서드 MyFunction f = () -> System.out.println("f3.run()"); return f; } public static void main(String[] args) { // 람다식으로 MyFunction의 run()을 구..
2023.07.13
자바) generics/ enum/ annotation (23-05-15)
velog에서 이전한 글 입니다. Generics 와일드 카드 ArrayList
2023.07.13
자바) regex/ generics (23-05-11)
velog에서 이전한 글 입니다. 23.5.2 ~ 23.5.19 사전 캠프 기간의 TIL 기록입니다! TIL: Today I Learned 정규표현식(regex) public class Main { public static void main(String[] args) { String t = "^[0-9]*$"; String res = "1597asd123".replaceAll(t, "yes"); System.out.println(res); String res2 = "".replaceAll(t, "yes"); System.out.println(res2); String res3 = "1235512".replaceAll(t, "yes"); System.out.println(res3); } } 결과 1597as..
2023.07.13
자바) Map반복/ List ImmutableCollections (23-05-10)
velog에서 이전한 글 입니다. 23.5.2 ~ 23.5.19 사전 캠프 기간의 TIL 기록입니다! TIL: Today I Learned pwd public class Main { public static void main(String[] args) { String currentPath = Paths.get("").toAbsolutePath().toString(); String currentPath2 = new File("").getAbsolutePath(); System.out.println(System.getProperty("user.dir")); System.out.println(currentPath); System.out.println(currentPath2); } } 결과 ...\IdeaPro..
2023.07.13
자바) List/ Stack/ Arrays Comparator/ Comparable Iterator (23-05-09)
velog에서 이전한 글 입니다. List ArrayList(Vector) 요소를 삭제할 경우 삭제할 객체의 바로 아래에 있는 데이터를 한 칸씩 위로 복사해서 삭제할 객체를 덮어씐다. 마지막 데이터는 null로 변경한다. 그래서 맨 위의 데이터를 수정/삭제하는데 느리다. 추가도 이후 요소들을 모두 한칸 씩 이동시킨다. 크기를 변경할 수 없다. 내부적으로 새로운 배열을 생성해서 데이터를 복사한다. LinkedList 배열은 모든 데이터가 연속적으로 존재하지만 링크드 리스트는 불연속적으로 존재하는 데이터를 서로 연결한 형태이다. 요소를 삭제할 경우 삭제하고자하는 요소의 이전요소가 삭제하고자 하는 요소의 다음 요소를 참조하도록 변경하기만 하면 된다. 추가도 참조만 변경해주면 된다. 읽기가 느리다. n번째 값을..
2023.07.13
자바) lang/ Object/ StringBuffer/ equals (23-05-08)
velog에서 이전한 글 입니다. 23.5.2 ~ 23.5.19 사전 캠프 기간의 TIL 기록이다. TIL: Today I Learned java.lang package Object Object class는 모든 클래스의 최고 조상이다. 기본적으로 Object.equals() 는 인스턴스의 주소값으로 비교한다. Strings.equals() 같은 경우는 String class에서 오버라이딩해서 사용하는 것으로 주소값이 아닌 인스턴스의 멤버변수를 비교한다. 비교연산자(==)는 주소값을 비교한다. public class Main { public static void main(String[] args) { String a = new String("hello"); String b = new String("hel..
2023.07.13
자바) static import/ 예외처리 (23-05-05)
velog에서 이전한 글 입니다. 23.5.2 ~ 23.5.19 사전 캠프 기간의 TIL 기록이다. TIL: Today I Learned static import import static java.lang.System.out; import static java.lang.Math.*; out.println(random()); import는 패키지명을 생략하고 import static은 static 멤버를 호출할 때 클래스명을 생략한다. 예외처리 public class Main { public static void main(String[] args) { int input = 0; while (true) { try { System.out.println("1~100사이 값을 입력하세요"); input = new..
2023.07.13