HashMap에서 만료된 요소를 제거하고 동시에 더 많은 요소를 추가하는 방법 – Java Timer, TimerTask 및 futures() – 전체 예제

게시 됨: 2021-04-02
HashMap에서 만료된 요소를 제거하고 동시에 더 많은 요소를 추가하는 방법 - Java Timer, TimerTask 및 futures()

Hashmap, ArrayList, Static Map, Vector 등은 가장 많이 사용되는 Java 컬렉션 프레임워크 요소입니다. 필요에 따라 이것을 사용할 수 있는 시나리오가 무한합니다.

이 예제는 매우 흥미로운 Java 예제입니다. 하나의 HashMap()에 대해 아래의 연산을 수행할 것이다.

  • crunchifyMap 객체 생성
  • 만료 시간이 5 seconds 설정된 매초 맵에 요소를 계속 추가합니다.
  • 매초 캐시와 같은 만료된 요소를 Check 하고 만료된 delete from map if expired
  • 5초 후에는 1초마다 만료된 요소를 추가 및 삭제하는 always same sizealways 5 elements 를 얻게 됩니다.

또한 below questions 이 있는 경우 올바른 위치에 있습니다.

  • 수동 만료 맵이란 무엇입니까?
  • 시간 초과 요소가 있는 동시 맵
  • 자바 캐시 맵 예
  • 자바 TimerTask 예제
  • Evictor – Java 동시 맵 예제

시작하자:

포인트-1

  • 타이머 요소 만들기 crunchifyTimer
  • 1초인 반복되는 고정 지연 실행을 위해 지정된 작업 CrunchifyReminder() 를 예약합니다.
  • 예약된 작업에서
    • crunchifyMap에 요소 add
    • crunchifyMap에서 만료된 요소를 확인하고 삭제

포인트-2

  • addElement() 작업 중
    • 각 요소에 current time 을 연결하고 있습니다.
  • crunchifyClearExipredElementsFromMap() 작업 중
    • 요소의 시간으로 현재 시간을 확인하고 있습니다.
    • 시차가 5초 이상이면 crunchifyMap에서 요소를 삭제하십시오.

포인트-3

  • Eclipse 콘솔에서 추가 및 제거 작업 인쇄 요소 중
  • 첫 번째로 추가된 요소가 첫 번째로 제거되는 식입니다.
  • 결과는 Eclipse 콘솔 출력을 확인하십시오.

다음은 자바 프로그램입니다.

Eclipse 콘솔 출력:

위의 프로그램을 실행하면 아래와 같은 결과를 볼 수 있습니다.

HashMap에서 만료된 요소를 제거하고 동시에 더 많은 요소를 추가하는 방법 - Java Timer, TimerTask 및 futures() - 콘솔 결과

Java 프로그램을 실행하는 데 문제가 있으면 알려주십시오.