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 의 맵 조작 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【Liquibase】DB 작성·테이블 정의 변경신규 스타터 프로젝트 작성 Liquibase와 MySQL 선택 application.properties에 DB 정보 넣기 MySQL에서 "testdatabase"라는 데이터베이스 만들기 빌드 종속성 추가 build....
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.