Java TreeMap– HigherKey() และ LowerKey()

Java Treemap Higherkey Laea Lowerkey



TreeMap จัดเก็บข้อมูลตามลำดับการจัดเรียงตามองค์ประกอบหลัก ข้อมูลคีย์ที่สูงกว่า (คีย์-ค่า) จะถูกเก็บไว้ในตำแหน่งสุดท้ายในโครงสร้างข้อมูลนี้

มาพูดคุยกันเกี่ยวกับวิธีhigherKey() และ lowerKey() ที่มีอยู่ในคอลเลกชัน TreeMap







HigherKey()

วิธีการhigherKey() ในคอลเลกชัน TreeMap จะคืนค่าคีย์จากวัตถุคอลเลกชัน TreeMap ที่มากกว่าคีย์ที่ให้มา เราสามารถจัดเตรียมคีย์นี้ (ประเภทจำนวนเต็ม) ให้กับวิธีhigherKey() เป็นพารามิเตอร์ คีย์ผลลัพธ์มีค่าน้อยกว่าคีย์ทั้งหมดที่มากกว่าคีย์ที่ให้มา



ไวยากรณ์:

treemap_object. คีย์ที่สูงขึ้น ( สำคัญ )

โดยที่ treemap_object แสดงถึงคอลเล็กชัน TreeMap



พารามิเตอร์:

คีย์เป็นประเภท Integer





กลับ:

ส่งกลับคีย์จากวัตถุคอลเลกชัน

บันทึก:

  1. ถ้า แผนที่ต้นไม้ วัตถุว่างเปล่า โมฆะ จะถูกส่งกลับ
  2. หากคีย์ที่ให้มาเท่ากับคีย์สูงสุดใน แผนที่ต้นไม้ อ็อบเจ็กต์ ค่า null ถูกส่งกลับ
  3. หากคีย์ที่ให้มาคือ โมฆะ , NullPointerException ถูกยกขึ้น
  4. ถ้า แผนที่ต้นไม้ ว่างเปล่า และหากเราระบุคีย์เป็นโมฆะ โมฆะ จะถูกส่งกลับ

สถานการณ์:

ลองพิจารณา TreeMap กับคู่ต่อไปนี้:



{ ( 1000 , 'จีน' ) , ( 2890 , 'สหราชอาณาจักร' ) , ( 5000 , 'เรา' ) , ( 1500 , 'เดลี' ) , ( 400 , 'ญี่ปุ่น' ) }

ตอนนี้ ระบุคีย์เป็น 1000 ภายในวิธีhigherKey()

ดังนั้น คีย์ที่มากกว่า 1,000 คือ: 1500,2890 และ 5000 ในจำนวนนั้น 1,500 คีย์นั้นเล็ก ผลลัพธ์ที่ได้คือ 1500

ตัวอย่างที่ 1:

ที่นี่ เราสร้างคอลเลกชัน TreeMap ที่เก็บจำนวนประชากรเป็นคีย์ และเมือง/รัฐเป็นมูลค่า ตอนนี้ เราได้รับคีย์บางตัวที่น้อยกว่าหรือเท่ากับคีย์ที่ให้มาโดยใช้วิธีhigherKey()

นำเข้า java.util.* ;

นำเข้า java.util.TreeMap ;

สาธารณะ ระดับ หลัก

{

สาธารณะ คงที่ โมฆะ หลัก ( สตริง [ ] args ) {

// สร้าง TreeMap ด้วยคีย์เป็นจำนวนเต็มและค่าเป็นประเภทสตริง
แผนที่ต้นไม้ ข้อมูลประชากร = ใหม่ แผนที่ต้นไม้ ( ) ;

// แทรก 5 ค่าลงในวัตถุข้อมูลประชากร
ข้อมูลประชากร ใส่ ( 1000 , 'จีน' ) ;
ข้อมูลประชากร ใส่ ( 2890 , 'สหราชอาณาจักร' ) ;
ข้อมูลประชากร ใส่ ( 5000 , 'เรา' ) ;
ข้อมูลประชากร ใส่ ( 1500 , 'เดลี' ) ;
ข้อมูลประชากร ใส่ ( 400 , 'ญี่ปุ่น' ) ;

ระบบ . ออก . println ( 'ประชากร: ' + ข้อมูลประชากร ) ;

// รับกุญแจที่มากกว่า 1,000
ระบบ . ออก . println ( 'higherKey(1000):' + ข้อมูลประชากร คีย์ที่สูงขึ้น ( 1000 ) ) ;

// รับคีย์ที่มากกว่า 400
ระบบ . ออก . println ( 'higherKey(400):' + ข้อมูลประชากร คีย์ที่สูงขึ้น ( 400 ) ) ;

}

}

เอาท์พุท:

  1. คีย์ที่กำหนดคือ 1000. 1500 คือคีย์ที่มากกว่า 1,000 และน้อยกว่าคีย์ที่เหลือ (2890, 5000) ซึ่งมากกว่า 1,000 ในข้อมูลประชากร
  2. คีย์ที่กำหนดคือ 400. 1000 เป็นคีย์ที่มากกว่า 400 และน้อยกว่าคีย์ที่เหลือ (1500,2890,5000) ซึ่งมากกว่า 400 ในข้อมูลประชากร

ตัวอย่างที่ 2:

ให้สิ่งต่อไปนี้:

  1. 5,000 เป็นคีย์
  2. Null เป็นคีย์
นำเข้า java.util.* ;

นำเข้า java.util.TreeMap ;

สาธารณะ ระดับ หลัก

{

สาธารณะ คงที่ โมฆะ หลัก ( สตริง [ ] args ) {

// สร้าง TreeMap ด้วยคีย์เป็นจำนวนเต็มและค่าเป็นประเภทสตริง
แผนที่ต้นไม้ ข้อมูลประชากร = ใหม่ แผนที่ต้นไม้ ( ) ;

// แทรก 5 ค่าลงในวัตถุข้อมูลประชากร
ข้อมูลประชากร ใส่ ( 1000 , 'จีน' ) ;
ข้อมูลประชากร ใส่ ( 2890 , 'สหราชอาณาจักร' ) ;
ข้อมูลประชากร ใส่ ( 5000 , 'เรา' ) ;
ข้อมูลประชากร ใส่ ( 1500 , 'เดลี' ) ;
ข้อมูลประชากร ใส่ ( 400 , 'ญี่ปุ่น' ) ;

ระบบ . ออก . println ( 'ประชากร: ' + ข้อมูลประชากร ) ;

// รับคีย์ที่มากกว่า 5000
ระบบ . ออก . println ( 'higherKey(5000):' + ข้อมูลประชากร คีย์ที่สูงขึ้น ( 5000 ) ) ;

// รับคีย์ที่มากกว่าค่าว่าง
ระบบ . ออก . println ( 'higherKey(null):' + ข้อมูลประชากร คีย์ที่สูงขึ้น ( โมฆะ ) ) ;

}

}

เอาท์พุท:

  1. คีย์ที่ระบุคือ 5000 ไม่มีคีย์ใดที่มากกว่า 5000 ดังนั้น โมฆะ จะถูกส่งกลับ
  2. คีย์ที่ระบุเป็นโมฆะ ดังนั้น NullPointerException จะถูกส่งกลับ

คีย์ล่าง()

วิธี lowerKey() ในคอลเลกชั่น TreeMap จะคืนค่าคีย์จากออบเจ็กต์คอลเลกชั่น TreeMap ที่น้อยกว่าคีย์ที่ให้มา เราสามารถจัดเตรียมคีย์นี้ (ประเภทจำนวนเต็ม) ให้กับวิธี lowerKey() เป็นพารามิเตอร์ คีย์ผลลัพธ์มีค่ามากกว่าคีย์ทั้งหมดที่น้อยกว่าคีย์ที่ให้มา

ไวยากรณ์:

treemap_object. คีย์ล่าง ( สำคัญ )

โดยที่ treemap_object แสดงถึงคอลเล็กชัน TreeMap

พารามิเตอร์:

คีย์เป็นประเภท Integer

กลับ:

ส่งกลับคีย์จากวัตถุคอลเลกชัน

บันทึก:

  1. ถ้า แผนที่ต้นไม้ วัตถุว่างเปล่า โมฆะ จะถูกส่งกลับ
  2. หากคีย์ที่ให้มาเท่ากับคีย์ต่ำสุดใน แผนที่ต้นไม้ อ็อบเจ็กต์ ค่า null ถูกส่งกลับ
  3. หากคีย์ที่ระบุเป็นโมฆะ NullPointerException ถูกยกขึ้น
  4. ถ้า แผนที่ต้นไม้ ว่างเปล่า และหากเราระบุคีย์เป็นโมฆะ โมฆะ จะถูกส่งกลับ

สถานการณ์:

ลองพิจารณา TreeMap กับคู่ต่อไปนี้:

{ ( 1000 , 'จีน' ) , ( 2890 , 'สหราชอาณาจักร' ) , ( 5000 , 'เรา' ) , ( 1500 , 'เดลี' ) , ( 400 , 'ญี่ปุ่น' ) }

ตอนนี้ ระบุคีย์เป็น 5000 ภายในวิธีlowerKey()

คีย์ที่น้อยกว่า 5000 ได้แก่ 2890,1500,1000 และ 400 ในจำนวนนี้ 2890 มีขนาดใหญ่ ผลลัพธ์ที่ได้คือ 2890

ตัวอย่างที่ 1:

ที่นี่ เราสร้างคอลเลกชัน TreeMap ที่เก็บจำนวนประชากรเป็นคีย์ และเมือง/รัฐเป็นมูลค่า ตอนนี้ เราได้คีย์บางตัวที่น้อยกว่าหรือเท่ากับคีย์ที่ให้มาโดยใช้วิธีhigherKey()

นำเข้า จาวา ใช้ประโยชน์ . *;

นำเข้า จาวา ใช้ประโยชน์ . แผนที่ต้นไม้ ;

สาธารณะ ระดับ หลัก

{

สาธารณะ คงที่ โมฆะ หลัก ( สตริง [ ] args ) {

// สร้าง TreeMap ด้วยคีย์เป็นจำนวนเต็มและค่าเป็นประเภทสตริง
TreeMap ประชากร_data = ใหม่ แผนที่ต้นไม้ ( ) ;

// แทรก 5 ค่าลงในวัตถุข้อมูลประชากร
ข้อมูลประชากร ใส่ ( 1000 , 'จีน' ) ;
ข้อมูลประชากร ใส่ ( 2890 , 'สหราชอาณาจักร' ) ;
ข้อมูลประชากร ใส่ ( 5000 , 'เรา' ) ;
ข้อมูลประชากร ใส่ ( 1500 , 'เดลี' ) ;
ข้อมูลประชากร ใส่ ( 400 , 'ญี่ปุ่น' ) ;

ระบบ. ออก . println ( 'ประชากร: ' + ข้อมูลประชากร ) ;

// รับกุญแจที่น้อยกว่า 5000
ระบบ. ออก . println ( 'ปุ่มล่าง(5000):' + ข้อมูลประชากร คีย์ล่าง ( 5000 ) ) ;

// รับกุญแจที่น้อยกว่า 400
ระบบ. ออก . println ( 'ปุ่มล่าง(400):' + ข้อมูลประชากร คีย์ล่าง ( 400 ) ) ;

}


}

เอาท์พุท:

  1. คีย์ที่กำหนดคือ 5000. 2890 เป็นคีย์ที่น้อยกว่า 5000 และมากกว่าคีย์ที่เหลือ (1,000,1500) ซึ่งน้อยกว่า 5000 ในข้อมูลประชากร
  2. คีย์ที่กำหนดคือ 400 . ไม่มีคีย์ใดที่น้อยกว่า 400 ดังนั้น โมฆะ จะถูกส่งกลับ

ตัวอย่างที่ 2:

ให้ Null เป็นกุญแจสำคัญ

นำเข้า จาวา ใช้ประโยชน์ . *;

นำเข้า จาวา ใช้ประโยชน์ . แผนที่ต้นไม้ ;

สาธารณะ ระดับ หลัก

{

สาธารณะ คงที่ โมฆะ หลัก ( สตริง [ ] args ) {

// สร้าง TreeMap ด้วยคีย์เป็นจำนวนเต็มและค่าเป็นประเภทสตริง
TreeMap ประชากร_data = ใหม่ แผนที่ต้นไม้ ( ) ;

// แทรก 5 ค่าลงในวัตถุข้อมูลประชากร
ข้อมูลประชากร ใส่ ( 1000 , 'จีน' ) ;
ข้อมูลประชากร ใส่ ( 2890 , 'สหราชอาณาจักร' ) ;
ข้อมูลประชากร ใส่ ( 5000 , 'เรา' ) ;
ข้อมูลประชากร ใส่ ( 1500 , 'เดลี' ) ;
ข้อมูลประชากร ใส่ ( 400 , 'ญี่ปุ่น' ) ;

ระบบ. ออก . println ( 'ประชากร: ' + ข้อมูลประชากร ) ;

// รับคีย์ที่น้อยกว่า null
ระบบ. ออก . println ( 'lowerKey(null):' + ข้อมูลประชากร คีย์ล่าง ( โมฆะ ) ) ;

}


}

เอาท์พุท:

คีย์ที่กำหนดคือ โมฆะ . ดังนั้น, NullPointerException จะถูกส่งกลับ

บทสรุป

เราได้พูดคุยกันเกี่ยวกับ highKey() และ lowerKey() ในคอลเล็กชัน Java TreeMap highKey() จะคืนค่าคีย์ซึ่งน้อยกว่าคีย์ทั้งหมดที่มากกว่าคีย์ที่ให้มา ในขณะที่ lowerKey() จะคืนค่าคีย์ซึ่งมากกว่าคีย์ทั้งหมดที่น้อยกว่าคีย์ที่ให้มา NullPointerException เกิดขึ้นเมื่อเราระบุพารามิเตอร์เป็นโมฆะสำหรับสองวิธีนี้