ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • TIL_4(Lambda Expressions, StringBuffer & StringBuilder, Collections)
    TIL 2020. 8. 31. 21:53

    [Lambda Expressions(람다식)]
    익명 함수를 이용해서 익명 객체 생성하기 위한 식이다.
    람다식은 기본적으로 함수를 만들어 사용한다.

    Interface Type 변수를 활용한다.

     

    LamdaInterface3 li3 = () -> System.out.println("no parameter");
    LamdaInterface5 li5 = (x, y) -> { 
    				int result = x+y; 
    				return result;
    				};
    li3.method();
    li5.method4();

     

     

    [문자열 클래스 - StringBuffer, StringBuilder] 
    StringBuffer 만들어진 이유:
    문자열을 다루는 String 클래스(객체)는 데이터가 변화하면 메모리상의 변화가 많아 속도가 느리다.
    새로운 객체를 만들면 기존의 객체를 버리고, 새로운 객체를 메모리에 생성한다. 이때, 기존 객체는 GC에 의해서 메모리 회수가 이루어진다.

     

    StringBuffer, StringBuilder
    String클래스의 단점을 보완한 클래스로 데이터가 변경되면 메모리에서 기존 객체를 재활용한다.

    둘의 큰 차이는 없다. method 활용 비슷하다.
    속도는 StringBuilder가 조금 더 빠르다.
    데이터 안정성은 StringBuffer가 조금 더 좋다.

     

    StringBuffer sb = new StringBuffer("Word");
    sb.append("Book");

     

     

    [Collections]
    List
    Vector, ArrayList, LinkedList 가 있다.
    인덱스를 이용하여 데이터를 관리한다.
    데이터 중복이 가능하다.

     

    ArrayList<String> list = ArrayList<String>();
    list.add("Java");
    list.add(3, "World");
    list.set(1. "Hello");
    list.get(4);
    list.clear();



    Map
    HashMap이 있다.
    key를 이용한다.
    key는 중복될 수 없다.
    데이터 중복이 가능하다.

     

    HashMap <Integer, String> map = new HashMap <Integer, String>();
    map.put(5, "Word");
    map.containsKey(5);
    map.put(5, "put");
CokeWorld DevLog