찾다

 >  Q&A  >  본문

java - 使用ArrayList<String> 和 使用HashMap<String, String> 存储键值对,哪个速度更快一些

ringa_leeringa_lee2887일 전722

모든 응답(6)나는 대답할 것이다

  • 高洛峰

    高洛峰2017-04-18 10:43:08

    키를 짝수로 저장하고 값을 홀수로 저장하는 ArrayList 방법을 사용하는 것은 권장되지 않습니다. 이는 코드 작성 방법의 일반적인 논리에 어긋나며 향후 관리자에게도 큰 문제를 일으킬 것입니다. 게다가 요즘 휴대폰의 성능은 매우 좋습니다. 사용 시나리오에서는 성능 문제를 고려할 필요가 없습니다.

    회신하다
    0
  • 大家讲道理

    大家讲道理2017-04-18 10:43:08

    언급하신 데이터의 양이 10개 미만인 경우 ArrayList과 HashMap의 차이는 매우 작으며 둘 중 하나를 사용하면 성능에 영향을 미치지 않습니다. 기술적인 부분에서는 두 문장이 너무 길어졌습니다^.^

    ArrayList는 순서가 지정된 컬렉션이며 하위 레이어는 실제로 배열입니다. 탐색하여 저장하면 여전히 HashMap보다 빠르지만 추가 및 삭제는 더 느려집니다. 특히 중간에서 추가 및 삭제하는 경우 더욱 그렇습니다. 목록 (먼) )

    HashMap은 순서가 지정되지 않은 해시 테이블이며 쿼리 순서는 데이터 양과 직접적인 관련이 있습니다. 쉽게 말하면 데이터 양이 많을수록 쿼리 속도가 느려집니다!

    요약:
    작은 데이터: 둘 다 사용할 수 있습니다.
    빅데이터: ArrayList는 쿼리에 자주 사용되며, HashMap은 잦은 추가, 삭제, 변경에 사용됩니다.
    매우 큰 데이터: ArrayList를 사용하세요.

    회신하다
    0
  • PHPz

    PHPz2017-04-18 10:43:08

    이것은 데이터의 양과 관련이 있습니다

    회신하다
    0
  • 巴扎黑

    巴扎黑2017-04-18 10:43:08

    사용 방법에 따라 다릅니다. List를 저장하고 순회하는 것이 더 빠릅니다. 키별로 값을 확인하려면 Map이 더 빠릅니다.

    회신하다
    0
  • PHPz

    PHPz2017-04-18 10:43:08

    왜 List<String>와 Map<String, String> 중 어느 것이 더 빠른지 비교하고 싶은지 모르겠지만 ArrayList 및 LinkedList와 같은 두 가지 인터페이스에 대해 서로 다른 구현 클래스가 있습니다. 매우 다릅니다. HashMap, TreeMap, LinkedHashMap, WeakHashMap, IdentityHashMap은 구현 클래스 동작, 효율성, 객체 저장 주기 및 키 동등 전략이 매우 다릅니다. 그냥 내가 대답하지 않은 것처럼 처리하세요./(ㄒoㄒ)/~~

    회신하다
    0
  • 高洛峰

    高洛峰2017-04-18 10:43:08

    성능에 대해서는 위에서 아주 명확하게 설명했습니다.
    저장된 데이터가 10개 미만인 경우 선언 시 최대값인 10을 직접 지정할 수 있어 메모리 공간을 절약할 수 있습니다.

    으아악

    회신하다
    0
  • 취소회신하다