java 8 에서 Map 의 일부 소란 조작 총화

머리말
이 내용 은 맵 의 새로운 특성 에 대한 몇 가지 방법 사용 에 대한 소개 입 니 다.부족 한 점 이 있 으 면 보충 을 환영 합 니 다!!
새로운 기능
다음 함수 식 프로 그래 밍 함수 에 대한 계산 지식 추적 자 는 모두 간단 한 문자열 로 대체 되 었 습 니 다.매개 변 수 는 Key,value 가 아 닙 니 다.
2.1 forEach
for each 교체,for 순환 에 해당

 public static void main(String[] args) {
  HashMap<String, Object> hashMap = new HashMap<>();
  hashMap.put("key1","   ");
  hashMap.put("key2","   ");
  //   
  hashMap.forEach((key,value) -> {
   System.out.println("key:"+key + " value: "+value);
  });

 }
출력
key:key 1 value:새끼 판다
키:키 2 value:판다
2.2 computeIfAbsentjava
키 의 값 이 존재 하지 않 으 면 함수 결 과 를 사용 하여 대체 합 니 다.
값 에 예제 가 존재 합 니 다.오래된 값 을 사용 하 더 라 도.

 public static void main(String[] args) {
  HashMap<String, Object> hashMap = new HashMap<>();
  hashMap.put("key","    ");
  //   key              
  hashMap.computeIfAbsent("key",s-> { return "   ";});
  // {key=    }
  System.out.println(hashMap);
 }
값 은 예제 가 존재 하지 않 습 니 다.함수 값 을 새 값 으로 대체 합 니 다.

 public static void main(String[] args) {
  HashMap<String, Object> hashMap = new HashMap<>();
  //   key              
  hashMap.computeIfAbsent("key",s-> { return "   ";});
  // {key=   }
  System.out.println(hashMap);
 }
2.3 computeIfPresent
키 의 값 이 존재 하면 함수 값 으로 대체 합 니 다.편지 값 이 null 이면 키 를 제거 합 니 다.
값 에 예제 가 존재 합 니 다.이전 값 대신 함수 값 을 사용 합 니 다.

  public static void main(String[] args) {
    HashMap<String, Object> hashMap = new HashMap<>();
    hashMap.put("key","    ");
    //   key            
    hashMap.computeIfPresent("key",(key,value)-> { return "   ";});
    // {key4=   }
    System.out.println(hashMap);
  }
값 은 예제 가 존재 하지 않 습 니 다.비어 있 습 니 다.

  public static void main(String[] args) {
    HashMap<String, Object> hashMap = new HashMap<>();
    //   key            
    hashMap.computeIfPresent("key",(key,value)-> { return "   ";});
    // {}
    System.out.println(hashMap);
  }
편지 수치 가 null 이면 key 를 제거 합 니 다.

  public static void main(String[] args) {
    HashMap<String, Object> hashMap = new HashMap<>();
    hashMap.put("key","    ");
    //   key            
    hashMap.computeIfPresent("key",(key,value)-> { return null;});
    // {}
    System.out.println(hashMap);
  }
2.4 putIfAbsent
키 의 값 이 존재 할 때 값 을 바 꾸 지 않 기;키 의 값 이 존재 하지 않 을 때 키 의 값 바 꾸 기;
key 에 예제 가 존재 합 니까?아니면 이전 값 입 니까?

   public static void main(String[] args) {
     HashMap<String, Object> hashMap = new HashMap<>();
     hashMap.put("key","    ");
     hashMap.putIfAbsent("key","   ");
     //{key=    }
     System.out.println(hashMap);
   }
key 가 존재 하지 않 는 다 면 사실은 put 작업 입 니 다.

   public static void main(String[] args) {
     HashMap<String, Object> hashMap = new HashMap<>();
     hashMap.putIfAbsent("key","   ");
     //{key=   }
     System.out.println(hashMap);
   }
2.5 getOrDefault
키 의 값 이 존재 할 때 값 을 가 져 옵 니 다.그렇지 않 으 면 지정 한 기본 값 을 가 져 옵 니 다.
key 값 에 예제 가 존재 합 니 다.

  public static void main(String[] args) {
     HashMap<String, Object> hashMap = new HashMap<>();
     hashMap.put("key","    ");
     //    
     System.out.println(hashMap.getOrDefault("key","   "));
   }
key 값 에 예제 가 존재 하지 않 습 니 다.

  public static void main(String[] args) {
     HashMap<String, Object> hashMap = new HashMap<>();
     //   
     System.out.println(hashMap.getOrDefault("key","   "));
   }
2.6 merge
키 의 값 이 존재 하지 않 으 면 새로운 값 으로 대체 합 니 다.키 의 값 이 존재 하면 함수 값 으로 이전 값 을 대체 합 니 다.함수 값 이 비어 있 으 면 키 를 제거 합 니 다.
키 값 이 존재 하지 않 으 면 새 값(두 번 째 인자)으로 대체 합 니 다.

   public static void main(String[] args) {
     HashMap<String, Object> hashMap = new HashMap<>();
     hashMap.merge("key","   ",(key,value) -> { return "    ";});
     //{key=   }
     System.out.println(hashMap);
   }
키 의 값 이 존재 하면 함수 값 으로 이전 값 을 대체 합 니 다.새로운 값(두 번 째 매개 변수)이 작 동 하지 않 습 니 다.

  public static void main(String[] args) {
     HashMap<String, Object> hashMap = new HashMap<>();
     hashMap.put("key","    ");
     hashMap.merge("key","   ",(key,value) -> { return "    ";});
     //{key=    }
     System.out.println(hashMap);
   }
함수 값 이 비어 있 으 면 key 를 제거 합 니 다.

  public static void main(String[] args) {
     HashMap<String, Object> hashMap = new HashMap<>();
     hashMap.put("key","    ");
     hashMap.merge("key","   ",(key,value) -> { return null;});
     //{}
     System.out.println(hashMap);
   }
총결산
자바 8 의 맵 에 관 한 약간의 소란 조작 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 자바 8 의 맵 조작 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!

좋은 웹페이지 즐겨찾기