John Squirrels
ืจึธืžึธื”
San Francisco

TreeMap ื‘-Java

ืคื•ืจืกื ื‘ืงื‘ื•ืฆื”
ืื ืืชื” ืงื•ืจื ืžืืžืจ ื–ื”, ืกื‘ื™ืจ ืœื”ื ื™ื— ืฉืืชื” ืžื›ื™ืจ ืืช ืžืžืฉืง ื”ืžืคื” ื•ื”ื™ื›ืŸ ื ื™ืชืŸ ืœื™ื™ืฉื ื›ืจืื•ื™. ืื ืœื, ืื– ื‘ื•ื ืœื›ืืŸ . ื”ื™ื•ื ื ื“ื‘ืจ ืขืœ ื”ืžืืคื™ื™ื ื™ื ืฉืœ ื”ื™ื™ืฉื•ื ืฉืœ Java TreeMap, ื•ืœื™ืชืจ ื“ื™ื•ืง, ื›ื™ืฆื“ ื”ื•ื ืฉื•ื ื” ืž-HashMap ื•ื›ื™ืฆื“ ืœื”ืฉืชืžืฉ ื‘ื• ื ื›ื•ืŸ.

ื”ืฉื•ื•ืืช TreeMap, HashMap ื•-LinkedHashMap

ื”ืžื™ืžื•ืฉ ื”ื ืคื•ืฅ ื‘ื™ื•ืชืจ ืฉืœ ืžืžืฉืง Map ื”ื•ื HashMap. ื–ื” ืงืœ ืœืฉื™ืžื•ืฉ ื•ืžื‘ื˜ื™ื— ื’ื™ืฉื” ืžื”ื™ืจื” ืœื ืชื•ื ื™ื, ื›ืš ืฉื”ื•ื ื”ืžื•ืขืžื“ ื”ื˜ื•ื‘ ื‘ื™ื•ืชืจ ืœืคืชืจื•ืŸ ืจื•ื‘ ื”ื‘ืขื™ื•ืช. ืจื•ื‘, ืื‘ืœ ืœื ื›ื•ืœื. ืœืคืขืžื™ื ืืชื” ืฆืจื™ืš ืœืื—ืกืŸ ื ืชื•ื ื™ื ื‘ืฆื•ืจื” ืžื•ื‘ื ื™ืช ื•ืœื”ื™ื•ืช ืžืกื•ื’ืœ ืœื ื•ื•ื˜ ื‘ื”ื. ื‘ืžืงืจื” ื–ื”, ื™ื™ืฉื•ื ื ื•ืกืฃ ืฉืœ ืžืžืฉืง ื”ืžืคื” (TreeMap) ืžื’ื™ืข ืœืขื–ืจื”. TreeMap ืžื™ื™ืฉืžืช ืืช ืžืžืฉืง NavigableMap , ืฉื™ื•ืจืฉ ืืช SortedMap , ืฉื‘ืชื•ืจื• ื™ื•ืจืฉ ืืช ืžืžืฉืง ื”ืžืคื”. ืชื›ื•ื ื•ืช ืฉืœ TreeMap - 2ืขืœ ื™ื“ื™ ื”ื˜ืžืขืช ืžืžืฉืงื™ NavigableMap ื•- SortedMap , TreeMap ืžืงื‘ืœ ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ื ื•ืกืคืช ืฉืื™ื ื” ื–ืžื™ื ื” ื‘-HashMap, ืืš ื”ื™ื ืžืฉืœืžืช ืžื—ื™ืจ ืžื‘ื—ื™ื ืช ื‘ื™ืฆื•ืขื™ื. ื™ืฉ ื’ื ืืช ื”ืžื—ืœืงื” LinkedHashMap , ื”ืžืืคืฉืจืช ื’ื ืœืื—ืกืŸ ื ืชื•ื ื™ื ื‘ืกื“ืจ ืžืกื•ื™ื (ื”ืกื“ืจ ืฉื‘ื• ืžื•ืกื™ืคื™ื ืื•ืชื ืœืžืคื”). ื›ื“ื™ ืœื”ื‘ื™ืŸ ืืช ื”ื”ื‘ื“ืœื™ื ื‘ื™ืŸ ืฉืœื•ืฉืช ื”ืžื—ืœืงื•ืช ื”ืœืœื•, ืขื™ื™ืŸ ื‘ื˜ื‘ืœื” ื–ื•:
ืžืคืช ื’ื™ื‘ื•ื‘ LinkedHashMap ืžืคืช ืขืฅ
ื”ื–ืžื ืช ื ืชื•ื ื™ื ืึทืงืจึทืึดื™. ืื™ืŸ ืขืจื•ื‘ื” ืฉื”ืกื“ืจ ื™ื™ืฉืžืจ ืœืื•ืจืš ื–ืžืŸ. ืœืคื™ ืกื“ืจ ื”ื•ืกืคืช ื”ื ืชื•ื ื™ื ื‘ืกื“ืจ ืขื•ืœื” ืื• ื‘ื”ืชื‘ืกืก ืขืœ ืžืฉื•ื•ื” ืžื•ื’ื“ืจ
ืžื•ืจื›ื‘ื•ืช ื”ื–ืžืŸ O(1) O(1) O(log(n))
ืžืžืฉืงื™ื ืžื™ื•ืฉืžื™ื ืžึทืคึผึธื” ืžึทืคึผึธื” NavigableMap
SortedMap
Map
ืžื‘ื ื” ื ืชื•ื ื™ื ื“ืœื™ื™ื ื“ืœื™ื™ื ืขืฅ ืื“ื•ื-ืฉื—ื•ืจ
ืชืžื™ื›ื” ื‘ืžืคืชื— null? ื›ืŸ ื›ืŸ ื›ืŸ, ืื ืืชื” ืžืฉืชืžืฉ ื‘-comparator, ื–ื” ืžืืคืฉืจ null
ืคืชื™ืœ ื‘ื˜ื•ื—? ืœื ืœื ืœื
ื›ืคื™ ืฉืืชื” ื™ื›ื•ืœ ืœืจืื•ืช, ืœืฉื™ืขื•ืจื™ื ื”ืืœื” ื™ืฉ ื”ืจื‘ื” ืžื”ืžืฉื•ืชืฃ, ืื‘ืœ ื™ืฉ ื’ื ื›ืžื” ื”ื‘ื“ืœื™ื. ืœืžืจื•ืช ืฉื”ืžื—ืœืงื” TreeMap ื”ื™ื ื”ืžื’ื•ื•ื ืช ื‘ื™ื•ืชืจ, ื”ื™ื ืœื ืชืžื™ื“ ื™ื›ื•ืœื” ืœืื—ืกืŸ null ื›ืžืคืชื—. ื‘ื ื•ืกืฃ, ื”ื’ื™ืฉื” ืœืืœืžื ื˜ื™ื ืฉืœ TreeMap ืœื•ืงื—ืช ืืช ืคืจืง ื”ื–ืžืŸ ื”ืืจื•ืš ื‘ื™ื•ืชืจ. ืœื›ืŸ, ืื ืื™ื ืš ืฆืจื™ืš ืœืื—ืกืŸ ื ืชื•ื ื™ื ื‘ืกื“ืจ ืžืกื•ื“ืจ ื›ืœืฉื”ื•, โ€‹โ€‹ืขื“ื™ืฃ ืœื”ืฉืชืžืฉ ื‘-HashMap ืื• ื‘-LinkedHashMap .

ืขืฅ ืื“ื•ื-ืฉื—ื•ืจ

ื‘ื˜ื— ืฉืžืชื ืœื‘ ืฉืžืชื—ืช ืœืžื›ืกื” ื”ืžื ื•ืข, TreeMap ืžืฉืชืžืฉ ื‘ืžื‘ื ื” ื ืชื•ื ื™ื ื”ื ืงืจื ืขืฅ ืื“ื•ื-ืฉื—ื•ืจ. ืื—ืกื•ืŸ ื ืชื•ื ื™ื ื‘ืžื‘ื ื” ื–ื” ื”ื•ื ื‘ื“ื™ื•ืง ืžื” ืฉืžืกืคืง ืกื“ืจ ื ืชื•ื ื™ื. ืื– ืื™ื–ื” ืขืฅ ื–ื”? ื‘ื•ืื• ื ื‘ื™ืŸ ืืช ื–ื”! ืชืืจ ืœืขืฆืžืš ืฉืืชื” ืฆืจื™ืš ืœืื—ืกืŸ ื–ื•ื’ื•ืช ืžืกืคืจ-ืžื—ืจื•ื–ืช. ื”ืžืกืคืจื™ื 16, 20, 52, 55, 61, 65, 71, 76, 81, 85, 90, 93 ื•-101 ื™ื”ื™ื• ืžืคืชื—ื•ืช. ืื ืืชื” ืžืื—ืกืŸ ื ืชื•ื ื™ื ื‘ืจืฉื™ืžื” ืžืกื•ืจืชื™ืช ื•ืืชื” ืฆืจื™ืš ืœืžืฆื•ื ืืช ื”ืืœืžื ื˜ ืขื ืžืงืฉ 101, ืชืฆื˜ืจืš ืœืขื‘ื•ืจ ื“ืจืš ื›ืœ 13 ื”ืืœืžื ื˜ื™ื ื›ื“ื™ ืœืžืฆื•ื ืื•ืชื•. ืขื‘ื•ืจ 13 ืืœืžื ื˜ื™ื, ื–ื” ืœื ืขื ื™ื™ืŸ ื’ื“ื•ืœ, ืื‘ืœ ื›ืฉืขื•ื‘ื“ื™ื ืขื ืžื™ืœื™ื•ืŸ, ื™ื”ื™ื• ืœื ื• ื‘ืขื™ื•ืช ื’ื“ื•ืœื•ืช. ื›ื“ื™ ืœืคืชื•ืจ ืืช ื”ื‘ืขื™ื•ืช ื”ืœืœื•, ืžืชื›ื ืชื™ื ืžืฉืชืžืฉื™ื ื‘ืžื‘ื ื™ ื ืชื•ื ื™ื ืงืฆืช ื™ื•ืชืจ ืžื•ืจื›ื‘ื™ื. ื›ืืŸ ื ื›ื ืก ื”ืขืฅ ื”ืื“ื•ื-ืฉื—ื•ืจ ืœื‘ืžื”! ืชื›ื•ื ื•ืช ืฉืœ TreeMap - 3ื—ื™ืคื•ืฉ ืืœืžื ื˜ ืžืชื—ื™ืœ ื‘ืฉื•ืจืฉ ื”ืขืฅ, ืฉื‘ืžืงืจื” ืฉืœื ื• ื”ื•ื 61. ืœืื—ืจ ืžื›ืŸ ื ืฉื•ื•ื” ืืช ืขืจื›ื™ ื”ืฆื•ืžืช ืขื ื”ืขืจืš ืฉืื ื• ืžื—ืคืฉื™ื. ืื ื”ืขืจืš ืฉืœื ื• ืคื—ื•ืช, ืื– ืื ื—ื ื• ื”ื•ืœื›ื™ื ืฉืžืืœื”; ืื ื”ื•ื ื’ื“ื•ืœ ื™ื•ืชืจ, ืื– ืื ื—ื ื• ื”ื•ืœื›ื™ื ื™ืžื™ื ื”. ืชื”ืœื™ืš ื–ื” ื—ื•ื–ืจ ืขืœ ืขืฆืžื• ืขื“ ืฉืื ื• ืžื•ืฆืื™ื ืืช ื”ืขืจืš ื”ืจืฆื•ื™ ืื• ื ืชืงืœื™ื ื‘ืืœืžื ื˜ ืฉืขืจื›ื• ืจื™ืง (ืขืœื” ืฉืœ ื”ืขืฅ). ื”ืฆื‘ืขื™ื ืื“ื•ื ื•ืฉื—ื•ืจ ืžืฉืžืฉื™ื ื›ื“ื™ ืœืคืฉื˜ ืืช ื”ื ื™ื•ื•ื˜ ื•ืื™ื–ื•ืŸ ื”ืขืฅ. ื™ืฉื ื ื›ืœืœื™ื ืฉืชืžื™ื“ ื™ืฉ ืœื”ืงืคื™ื“ ืขืœื™ื”ื ื‘ืขืช ื‘ื ื™ื™ืช ืขืฅ ืื“ื•ื-ืฉื—ื•ืจ:
  • ื”ืฉื•ืจืฉ ื—ื™ื™ื‘ ืœื”ื™ื•ืช ืฉื—ื•ืจ.
  • ืขืœื™ ื”ืขืฅ ื—ื™ื™ื‘ื™ื ืœื”ื™ื•ืช ืฉื—ื•ืจื™ื.
  • ืœืฆื•ืžืช ืื“ื•ื ื—ื™ื™ื‘ื™ื ืœื”ื™ื•ืช ืฉื ื™ ืฆืžืชื™ื ืฆืืฆืื™ื ืฉื—ื•ืจื™ื.
  • ืœืฆื•ืžืช ืฉื—ื•ืจ ื™ื›ื•ืœื™ื ืœื”ื™ื•ืช ืฆืžืชื™ื ืฆืืฆืื™ื ื‘ื›ืœ ืฆื‘ืข.
  • ื ืชื™ื‘ ืžืฆื•ืžืช ืœืขืœื™ื ืฉืœื• ื—ื™ื™ื‘ ืœื”ื›ื™ืœ ืืช ืื•ืชื• ืžืกืคืจ ืฉืœ ืฆืžืชื™ื ืฉื—ื•ืจื™ื.
  • ืฆืžืชื™ื ื—ื“ืฉื™ื ืžืชื•ื•ืกืคื™ื ืœืขืœื™ื.
ืื ืชื—ืฉื‘ื• ืขืœ ื›ืœืœื™ื 3, 4 ื•-5 ื‘ื™ื—ื“, ืชื•ื›ืœื• ืœื”ื‘ื™ืŸ ื›ื™ืฆื“ ืฆื‘ืข ื”ืฆืžืชื™ื ืžืืคืฉืจ ืœื ื• ืœื ื•ื•ื˜ ื‘ืขืฅ ืžื”ืจ ื™ื•ืชืจ: ื ืชื™ื‘ ื“ืจืš ืฆืžืชื™ื ืฉื—ื•ืจื™ื ืชืžื™ื“ ืงืฆืจ ื™ื•ืชืจ ืžืืฉืจ ื“ืจืš ืฆืžืชื™ื ืื“ื•ืžื™ื. ื‘ื”ืชืื ืœื›ืš, ื”ื’ื•ื“ืœ ื”ื›ื•ืœืœ ืฉืœ ื”ืขืฅ ื ืงื‘ืข ืขืœ ืคื™ ืžืกืคืจ ื”ืฆืžืชื™ื ื”ืฉื—ื•ืจื™ื, ื”ื ืงืจื "ื”ื’ื•ื‘ื” ื”ืฉื—ื•ืจ". ืžื‘ื ื” ื ืชื•ื ื™ ื”ืขืฅ ื”ืื“ื•ื-ืฉื—ื•ืจ ืžื™ื•ืฉื ื‘ืฉืคื•ืช ืชื›ื ื•ืช ืฉื•ื ื•ืช. ื™ืฉ ื”ืจื‘ื” ื™ื™ืฉื•ืžื™ Java ื‘ืื™ื ื˜ืจื ื˜, ืื– ืœื ื ืชืขื›ื‘ ื›ืืŸ. ื‘ืžืงื•ื ื–ืืช, ื‘ื•ืื• ื ืžืฉื™ืš ืœื”ื›ื™ืจ ืืช ื”ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ืฉืœ TreeMap.

ืฉื™ื˜ื•ืช ื”ืžื’ื™ืขื•ืช ืžื”ืžืžืฉืงื™ื SortedMap ื•-NavigableMap

ื›ืžื• HashMap, TreeMap ืžื™ื™ืฉืžืช ืืช ืžืžืฉืง Map, ืžื” ืฉืื•ืžืจ ืฉืœ-TreeMap ื™ืฉ ืืช ื›ืœ ื”ืฉื™ื˜ื•ืช ื”ืงื™ื™ืžื•ืช ื‘-HashMap. ืื‘ืœ TreeMap ืžื™ื™ืฉืžืช ื’ื ืืช ืžืžืฉืงื™ SortedMap ื•- NavigableMap , ื•ื›ืš ืžืจื•ื•ื™ื—ื” ืžื”ื ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ื ื•ืกืคืช. SortedMap ื”ื•ื ืžืžืฉืง ืฉืžืจื—ื™ื‘ ืืช ืžืคื” ื•ืžื•ืกื™ืฃ ืฉื™ื˜ื•ืช ืจืœื•ื•ื ื˜ื™ื•ืช ืœืžืขืจืš ื ืชื•ื ื™ื ืžืžื•ื™ืŸ:
  • firstKey() : ืžื—ื–ื™ืจ ืืช ื”ืžืคืชื— ืฉืœ ื”ืืœืžื ื˜ ื”ืจืืฉื•ืŸ ื‘ืžืคื”
  • lastKey() : ืžื—ื–ื™ืจื” ืืช ื”ืžืคืชื— ืฉืœ ื”ืืœืžื ื˜ ื”ืื—ืจื•ืŸ
  • headMap(K end) : ืžื—ื–ื™ืจื” ืžืคื” ื”ืžื›ื™ืœื” ืืช ื›ืœ ื”ืจื›ื™ื‘ื™ื ืฉืœ ื”ืžืคื” ื”ื ื•ื›ื—ื™ืช, ืžื”ื”ืชื—ืœื” ื•ืขื“ ื”ืืœืžื ื˜ ืขื ืกื•ืฃ ื”ืžืคืชื—
  • tailMap(K start) : ืžื—ื–ื™ืจื” ืžืคื” ื”ืžื›ื™ืœื” ืืช ื›ืœ ื”ืจื›ื™ื‘ื™ื ืฉืœ ื”ืžืคื” ื”ื ื•ื›ื—ื™ืช, ืžืืœืžื ื˜ ื”ื”ืชื—ืœื” ื•ืขื“ ื”ืกื•ืฃ
  • subMap(K start, K โ€‹โ€‹end) : ืžื—ื–ื™ืจื” ืžืคื” ื”ืžื›ื™ืœื” ืืช ื›ืœ ื”ืจื›ื™ื‘ื™ื ืฉืœ ื”ืžืคื” ื”ื ื•ื›ื—ื™ืช, ืžืืœืžื ื˜ ื”ื”ืชื—ืœื” ื•ืขื“ ืœืืœืžื ื˜ ืขื ืกื•ืฃ ื”ืžืคืชื—.
NavigableMap ื”ื•ื ืžืžืฉืง ืฉืžืจื—ื™ื‘ ืืช SortedMap ื•ืžื•ืกื™ืฃ ืฉื™ื˜ื•ืช ืœื ื™ื•ื•ื˜ ื‘ื™ืŸ ืืœืžื ื˜ื™ื ืฉืœ ืžืคื”:
  • firstEntry() : ืžื—ื–ื™ืจ ืืช ืฆืžื“ ื”ืžืคืชื—-ืขืจืš ื”ืจืืฉื•ืŸ
  • lastEntry() : ืžื—ื–ื™ืจื” ืืช ืฆืžื“ ื”ืžืคืชื—-ืขืจืš ื”ืื—ืจื•ืŸ
  • pollFirstEntry() : ืžื—ื–ื™ืจ ื•ืžื•ื—ืง ืืช ื”ื–ื•ื’ ื”ืจืืฉื•ืŸ
  • pollLastEntry() : ืžื—ื–ื™ืจ ื•ืžื•ื—ืง ืืช ื”ื–ื•ื’ ื”ืื—ืจื•ืŸ
  • ceilingKey(K obj) : ืžื—ื–ื™ืจื” ืืช ื”ืžืคืชื— ื”ืงื˜ืŸ ื‘ื™ื•ืชืจ k ืฉื’ื“ื•ืœ ืื• ืฉื•ื•ื” ืœืžืคืชื— obj. ืื ืื™ืŸ ืžืคืชื— ื›ื–ื”, ืžื—ื–ื™ืจื” null
  • floorKey(K obj) : ืžื—ื–ื™ืจ ืืช ื”ืžืคืชื— k ื”ื’ื“ื•ืœ ื‘ื™ื•ืชืจ ื”ืงื˜ืŸ ืื• ืฉื•ื•ื” ืœืžืคืชื— obj. ืื ืื™ืŸ ืžืคืชื— ื›ื–ื”, ืžื—ื–ื™ืจื” null
  • lowerKey(K obj) : ืžื—ื–ื™ืจื” ืืช ื”ืžืคืชื— k ื”ื’ื“ื•ืœ ื‘ื™ื•ืชืจ ื”ืงื˜ืŸ ืžื”ืžืคืชื— obj. ืื ืื™ืŸ ืžืคืชื— ื›ื–ื”, ืžื—ื–ื™ืจื” null
  • higherKey(K obj) : ืžื—ื–ื™ืจ ืืช ื”ืžืคืชื— ื”ืงื˜ืŸ ื‘ื™ื•ืชืจ k ืฉื’ื“ื•ืœ ืžื”ืžืคืชื— obj. ืื ืื™ืŸ ืžืคืชื— ื›ื–ื”, ืžื—ื–ื™ืจื” null
  • ceilingEntry(K obj) : ื‘ื“ื•ืžื” ืœืฉื™ื˜ืช ceilingKey(K obj), ืžื—ื–ื™ืจื” ืจืง ืฆืžื“ ืžืคืชื—-ืขืจืš (ืื• null)
  • floorEntry(K obj) : ื‘ื“ื•ืžื” ืœืฉื™ื˜ืช floorKey(K obj), ืžื—ื–ื™ืจื” ืจืง ื–ื•ื’ ืžืคืชื—-ืขืจืš (ืื• null)
  • lowerEntry(K obj) : ื‘ื“ื•ืžื” ืœืฉื™ื˜ืช lowerKey(K obj), ืžื—ื–ื™ืจื” ืจืง ื–ื•ื’ ืžืคืชื—-ืขืจืš (ืื• null)
  • higherEntry(K obj) : ื‘ื“ื•ืžื” ืœืฉื™ื˜ืช higherKey(K obj), ืžื—ื–ื™ืจื” ืจืง ืฆืžื“ ืžืคืชื—-ืขืจืš (ืื• null)
  • descendingKeySet() : ืžื—ื–ื™ืจื” NavigableSet ื”ืžื›ื™ืœ ืืช ื›ืœ ื”ืžืคืชื—ื•ืช ืžืžื•ื™ื ื™ื ื‘ืกื“ืจ ื”ืคื•ืš
  • descendingMap() : ืžื—ื–ื™ืจื” ืžืคืช Navigable ืฉืžื›ื™ืœื” ืืช ื›ืœ ื”ื–ื•ื’ื•ืช ืžืžื•ื™ื ื™ื ื‘ืกื“ืจ ื”ืคื•ืš
  • navigableKeySet() : ืžื—ื–ื™ืจื” ืื•ื‘ื™ื™ืงื˜ NavigableSet ื”ืžื›ื™ืœ ืืช ื›ืœ ื”ืžืคืชื—ื•ืช ื‘ืกื“ืจ ืฉื‘ื• ื”ื ืžืื•ื—ืกื ื™ื
  • headMap(K upperBound, boolean incl) : ืžื—ื–ื™ืจื” ืžืคื” ื”ืžื›ื™ืœื” ื–ื•ื’ื•ืช ืžื”ื”ืชื—ืœื” ืœืืœืžื ื˜ upperBound. ื”ืคืจืžื˜ืจ incl ืžืฆื™ื™ืŸ ืื ืœื›ืœื•ืœ ืืช ื”ืืœืžื ื˜ upperBound ื‘ืžืคื” ื”ืžื•ื—ื–ืจืช
  • tailMap(K lowerBound, boolean incl) : ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ื“ื•ืžื” ืœืฉื™ื˜ื” ื”ืงื•ื“ืžืช, ืžื—ื–ื™ืจื” ืจืง ื–ื•ื’ื•ืช ืžื”ื’ื‘ื•ืœ ื”ืชื—ืชื•ืŸ ืขื“ ื”ืกื•ืฃ
  • subMap(K lowerBound, Boolean lowIncl, K upperBound, Boolean highIncl) : ื›ืžื• ื‘ืฉื™ื˜ื•ืช ื”ืงื•ื“ืžื•ืช, ืžื—ื–ื™ืจื” ื–ื•ื’ื•ืช ืžื”ื’ื‘ื•ืœ ื”ืชื—ืชื•ืŸ ืœ-UpperBound; ื”ืืจื’ื•ืžื ื˜ื™ื lowIncl ื•-highIncl ืžืฆื™ื™ื ื™ื ืื ืœื›ืœื•ืœ ืืช ืจื›ื™ื‘ื™ ื”ื’ื‘ื•ืœ ื‘ืžืคื” ื”ื—ื“ืฉื”.
ื‘ื ื•ืกืฃ ืœื‘ื ืื™ื ื”ืจื’ื™ืœื™ื, ืœ-TreeMap ื™ืฉ ื‘ื ืื™ ื ื•ืกืฃ ืฉืžืงื‘ืœ ืžื•ืคืข ืฉืœ ืžืฉื•ื•ื”. ื”ืžืฉื•ื•ื” ื”ื–ื” ืื—ืจืื™ ืœืกื“ืจ ืฉื‘ื• ืžืื•ื—ืกื ื™ื ืืœืžื ื˜ื™ื.

ื“ื•ื’ืžืื•ืช ืฉืœ TreeMap

ื”ืฉืคืข ื”ื–ื” ืฉืœ ืฉื™ื˜ื•ืช ื ื•ืกืคื•ืช ืขืฉื•ื™ ืœื”ื™ืจืื•ืช ืžื™ื•ืชืจ, ืื‘ืœ ื”ืŸ ืžืชื‘ืจืจื•ืช ื›ืžื•ืขื™ืœื•ืช ื”ืจื‘ื” ื™ื•ืชืจ ืžืžื” ืฉืืชื” ืขืฉื•ื™ ืœื”ื‘ื™ืŸ ื‘ืžื‘ื˜ ืจืืฉื•ืŸ. ื‘ื•ืื• ื ื—ืงื•ืจ ื™ื—ื“ ืืช ื”ื“ื•ื’ืžื” ื”ื‘ืื”. ืชืืจื• ืœืขืฆืžื›ื ืฉืื ื—ื ื• ืขื•ื‘ื“ื™ื ื‘ืžื—ืœืงืช ื”ืฉื™ื•ื•ืง ืฉืœ ื—ื‘ืจื” ื’ื“ื•ืœื”, ื•ื™ืฉ ืœื ื• ืžืื’ืจ ืฉืœ ืื ืฉื™ื ืœื”ื ืื ื—ื ื• ืจื•ืฆื™ื ืœื”ืฆื™ื’ ืžื•ื“ืขื•ืช. ื™ืฉ ืœื–ื›ื•ืจ ืฉื ื™ ืคืจื˜ื™ื:
  • ืขืœื™ื ื• ืœืขืงื•ื‘ ืื—ืจ ืžืกืคืจ ื”ื”ื•ืคืขื•ืช ืฉืœ ื›ืœ ืื“ื
  • ื”ืืœื’ื•ืจื™ืชื ืœื”ืฆื’ืช ืžื•ื“ืขื•ืช ืœืงื˜ื™ื ื™ื ืฉื•ื ื”.
ื‘ื•ืื• ื ื™ืฆื•ืจ ื›ื™ืชืช ืื“ื , ืฉืชืฉืžื•ืจ ืืช ื›ืœ ื”ืžื™ื“ืข ื”ืจืœื•ื•ื ื˜ื™ ืขืœ ื›ืœ ืื“ื:
public class Person {
   public String firstName;
   public String lastName;
   public int age;

   public Person(String firstName, String lastName, int age) {
       this.firstName = firstName;
       this.lastName = lastName;
       this.age = age;
   }
}
ืื ื• ืžื™ื™ืฉืžื™ื ืืช ื”ื”ื™ื’ื™ื•ืŸ ื‘ืžื—ืœืงื” ื”ืจืืฉื™ืช :
import java.util.Comparator;
import java.util.Map;
import java.util.TreeMap;

public class Main {
   public static void main(String[] args) {
      TreeMap<Person, Integer> map = new TreeMap<>(Comparator.comparingInt(o -> o.age));
      map.put(new Person("John", "Smith", 17), 0);
      map.put(new Person("Ivan", "Petrenko", 65), 0);
      map.put(new Person("Pedro", "Escobar", 32), 0);
      map.put(new Person("Shirley", "Hatfield", 14), 0);
      map.put(new Person("Abby", "Parsons", 19), 0);

      Person firstAdultPerson = map.navigableKeySet().stream().filter(person -> person.age>18).findFirst().get();

       Map<Person, Integer> youngPeopleMap = map.headMap(firstAdultPerson, false);
       Map<Person, Integer> adultPeopleMap = map.tailMap(firstAdultPerson, true);
       showAdvertisementToYoung(youngPeopleMap);
       showAdvertisementToAdult(adultPeopleMap);
   }

   public static void showAdvertisementToYoung(Map map) {}
   public static void showAdvertisementToAdult(Map map) {}
}
ื‘ืžื—ืœืงื” Main, ืฆื•ืจ TreeMap, ืฉื‘ื” ื›ืœ ืžืคืชื— ืžื™ื™ืฆื’ ืื“ื ืกืคืฆื™ืคื™, ื•ื›ืœ ืขืจืš ื”ื•ื ืžืกืคืจ ื”ื•ืคืขื•ืช ื”ืžื•ื“ืขื” ื”ื—ื•ื“ืฉ. ืื ื—ื ื• ืžืขื‘ื™ืจื™ื ืืช ื”ืงื•ื ืกื˜ืจื•ืงื˜ื•ืจ ืžืฉื•ื•ื” ืฉืžืžื™ื™ืŸ ืื ืฉื™ื ืœืคื™ ื’ื™ืœ. ืื ื• ืžืžืœืื™ื ืืช ื”ืžืคื” ื‘ืขืจื›ื™ื ืฉืจื™ืจื•ืชื™ื™ื. ื›ืขืช ืื ื• ืจื•ืฆื™ื ืœืงื‘ืœ ื”ืชื™ื™ื—ืกื•ืช ืœืžื‘ื•ื’ืจ ื”ืจืืฉื•ืŸ ื‘ืžืื’ืจ ื”ื ืชื•ื ื™ื ื”ืงื˜ืŸ ืฉืœื ื•. ืื ื• ืขื•ืฉื™ื ื–ืืช ื‘ืืžืฆืขื•ืช ื”-API ืฉืœ Stream. ืœืื—ืจ ืžื›ืŸ ื ืงื‘ืœ ืฉืชื™ ืžืคื•ืช ื ืคืจื“ื•ืช, ืื•ืชืŸ ืื ื• ืžืขื‘ื™ืจื™ื ืœืฉื™ื˜ื•ืช ืฉืžืฆื™ื’ื•ืช ืžื•ื“ืขื•ืช. ื™ืฉ ื”ืจื‘ื” ืžืื•ื“ ื“ืจื›ื™ื ืฉื™ื›ื•ืœื ื• ืœื‘ืฆืข ืืช ื”ืžืฉื™ืžื” ื”ื–ื•. ืืจืกื ืœ ื”ืฉื™ื˜ื•ืช ืฉืœ ืžื—ืœืงืช TreeMap ืžืืคืฉืจ ืœื ื• ืœื™ืฆื•ืจ ืคืชืจื•ื ื•ืช ืžื•ืชืืžื™ื ืื™ืฉื™ืช ืœื›ืœ ืฆื•ืจืš. ืืชื” ืœื ืฆืจื™ืš ืœื–ื›ื•ืจ ืืช ื›ื•ืœื, ื›ื™ ืืชื” ืชืžื™ื“ ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘ืชื™ืขื•ื“ ืื• ื‘ื˜ื™ืคื™ื ืžื”-IDE ืฉืœืš. ื›ื“ื™ ืœื—ื–ืง ืืช ืžื” ืฉืœืžื“ืช, ืื ื• ืžืฆื™ืขื™ื ืœืš ืœืฆืคื•ืช ื‘ืฉื™ืขื•ืจ ื•ื™ื“ืื• ืžืงื•ืจืก Java ืฉืœื ื•
ื–ื” ื”ื›ืœ ืœืขืช ืขืชื”! ืื ื™ ืžืงื•ื•ื” ืฉืฉื™ืขื•ืจ TreeMap ื‘ืจื•ืจ ืœืš ืขื›ืฉื™ื•, ื•ืฉืชื™ื™ืฉื ืื•ืชื• ื›ืจืื•ื™ ื‘ืคืชืจื•ืŸ ืžืฉื™ืžื•ืช ืงื™ื“ื•ื“ ืžืขืฉื™ื•ืช.
ื”ืขืจื•ืช
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION