Java TreeMap– HigherKey () và LowerKey ()

Java Treemap Higherkey Va Lowerkey



TreeMap lưu trữ dữ liệu theo thứ tự được sắp xếp dựa trên các yếu tố chính. Dữ liệu khóa cao hơn (khóa-giá trị) được lưu trữ ở vị trí cuối cùng trong cấu trúc dữ liệu này.

Hãy thảo luận về các phương thức highKey () và lowKey () có sẵn trong bộ sưu tập Bản đồ cây.





HigherKey ()

Phương thức highKey () trong bộ sưu tập TreeMap trả về khóa từ đối tượng bộ sưu tập TreeMap lớn hơn khóa được cung cấp. Chúng ta có thể cung cấp khóa này (kiểu số nguyên) cho phương thức highKey () dưới dạng một tham số. Khóa kết quả nhỏ hơn trong số tất cả các khóa lớn hơn khóa được cung cấp.



Cú pháp:

treemap_object. cao hơn ( Chìa khóa )

Nơi treemap_object đại diện cho bộ sưu tập Bản đồ cây.



Tham số:

Khóa thuộc loại Số nguyên.





Trở về:

Nó trả về khóa từ đối tượng Bộ sưu tập.

Ghi chú:

  1. Nếu TreeMap đối tượng trống rỗng, vô giá trị Được trả lại.
  2. Nếu khóa được cung cấp bằng với khóa cao nhất trong TreeMap đối tượng, null được trả về.
  3. Nếu khóa được cung cấp là vô giá trị , NullPointerException được nuôi dưỡng.
  4. Nếu TreeMap trống và nếu chúng tôi cung cấp khóa là null, vô giá trị Được trả lại.

Kịch bản:

Hãy xem xét Sơ đồ cây với các cặp sau:



{ ( 1000 , 'Trung Quốc' ) , ( 2890 , 'Vương quốc Anh' ) , ( 5000 , 'CHÚNG TA' ) , ( 1500 , 'Delhi' ) , ( 400 , 'Nhật Bản' ) }

Bây giờ, chỉ định khóa là 1000 bên trong phương thức highKey ().

Vì vậy, các khóa lớn hơn 1000 là: 1500,2890 và 5000. Trong số đó, 1500 là nhỏ. Vì vậy, kết quả là 1500.

Ví dụ 1:

Ở đây, chúng tôi tạo một bộ sưu tập Bản đồ cây để lưu trữ số lượng dân số dưới dạng khóa và thành phố / tiểu bang dưới dạng giá trị. Bây giờ, chúng ta nhận được một số khóa nhỏ hơn hoặc bằng khóa được cung cấp bằng cách sử dụng phương thức highKey ().

nhập khẩu java.util. * ;

nhập khẩu java.util.TreeMap ;

công cộng lớp Chính

{

công cộng tĩnh vô hiệu chính ( Sợi dây [ ] args ) {

// Tạo Sơ đồ cây với Khóa là Số nguyên và Giá trị là kiểu Chuỗi
TreeMap dân_số_dữ_liệu = Mới TreeMap ( ) ;

// Chèn 5 giá trị vào đối tượng data_data
dữ liệu_dân_số. đặt ( 1000 , 'Trung Quốc' ) ;
dữ liệu_dân_số. đặt ( 2890 , 'Vương quốc Anh' ) ;
dữ liệu_dân_số. đặt ( 5000 , 'CHÚNG TA' ) ;
dữ liệu_dân_số. đặt ( 1500 , 'Delhi' ) ;
dữ liệu_dân_số. đặt ( 400 , 'Nhật Bản' ) ;

Hệ thống . ngoài . println ( 'Dân số: ' + dân_số_dữ_liệu ) ;

// Lấy khóa lớn hơn 1000
Hệ thống . ngoài . println ( 'highKey (1000):' + dữ liệu_dân_số. cao hơn ( 1000 ) ) ;

// Lấy khóa lớn hơn 400
Hệ thống . ngoài . println ( 'highKey (400):' + dữ liệu_dân_số. cao hơn ( 400 ) ) ;

}

}

Đầu ra:

  1. Chìa khóa đã cho là 1000. 1500 là khóa lớn hơn 1000 và nhỏ hơn các khóa còn lại (2890, 5000) lớn hơn 1000 trong dữ liệu dân số.
  2. Chìa khóa đã cho là 400. 1000 là khóa lớn hơn 400 và nhỏ hơn các khóa còn lại (1500,2890,5000) lớn hơn 400 trong dữ liệu dân số.

Ví dụ 2:

Hãy cung cấp những điều sau:

  1. 5000 là chìa khóa
  2. Null làm chìa khóa
nhập khẩu java.util. * ;

nhập khẩu java.util.TreeMap ;

công cộng lớp Chính

{

công cộng tĩnh vô hiệu chính ( Sợi dây [ ] args ) {

// Tạo Sơ đồ cây với Khóa là Số nguyên và Giá trị là kiểu Chuỗi
TreeMap dân_số_dữ_liệu = Mới TreeMap ( ) ;

// Chèn 5 giá trị vào đối tượng data_data
dữ liệu_dân_số. đặt ( 1000 , 'Trung Quốc' ) ;
dữ liệu_dân_số. đặt ( 2890 , 'Vương quốc Anh' ) ;
dữ liệu_dân_số. đặt ( 5000 , 'CHÚNG TA' ) ;
dữ liệu_dân_số. đặt ( 1500 , 'Delhi' ) ;
dữ liệu_dân_số. đặt ( 400 , 'Nhật Bản' ) ;

Hệ thống . ngoài . println ( 'Dân số: ' + dân_số_dữ_liệu ) ;

// Lấy khóa lớn hơn 5000
Hệ thống . ngoài . println ( 'highKey (5000):' + dữ liệu_dân_số. cao hơn ( 5000 ) ) ;

// Lấy khóa lớn hơn null
Hệ thống . ngoài . println ( 'highKey (null):' + dữ liệu_dân_số. cao hơn ( vô giá trị ) ) ;

}

}

Đầu ra:

  1. Khóa đã cho là 5000. Không có khóa nào lớn hơn 5000. Vì vậy, vô giá trị Được trả lại.
  2. Khóa đã cho là null, vì vậy NullPointerException Được trả lại.

LowerKey ()

Phương thức lowKey () trong bộ sưu tập TreeMap trả về khóa từ đối tượng bộ sưu tập TreeMap nhỏ hơn khóa được cung cấp. Chúng ta có thể cung cấp khóa này (kiểu số nguyên) cho phương thức lowKey () dưới dạng một tham số. Khóa kết quả lớn hơn trong số tất cả các khóa nhỏ hơn khóa được cung cấp.

Cú pháp:

treemap_object. lowKey ( Chìa khóa )

Nơi treemap_object đại diện cho bộ sưu tập Bản đồ cây.

Tham số:

Khóa thuộc loại Số nguyên.

Trở về:

Nó trả về khóa từ đối tượng Bộ sưu tập.

Ghi chú:

  1. Nếu TreeMap đối tượng trống rỗng, vô giá trị Được trả lại.
  2. Nếu khóa được cung cấp bằng với khóa thấp nhất trong TreeMap đối tượng, null được trả về.
  3. Nếu khóa được cung cấp là trống, NullPointerException được nuôi dưỡng.
  4. Nếu TreeMap trống và nếu chúng tôi cung cấp khóa là null, vô giá trị Được trả lại.

Kịch bản:

Hãy xem xét Sơ đồ cây với các cặp sau:

{ ( 1000 , 'Trung Quốc' ) , ( 2890 , 'Vương quốc Anh' ) , ( 5000 , 'CHÚNG TA' ) , ( 1500 , 'Delhi' ) , ( 400 , 'Nhật Bản' ) }

Bây giờ, chỉ định khóa là 5000 bên trong phương thức lowKey ().

Các khóa nhỏ hơn 5000 là: 2890,1500,1000 và 400. Trong đó, 2890 là lớn. Vì vậy, kết quả là 2890.

Ví dụ 1:

Ở đây, chúng tôi tạo một bộ sưu tập Bản đồ cây để lưu trữ số lượng dân số dưới dạng khóa và thành phố / tiểu bang dưới dạng giá trị. Bây giờ, chúng ta nhận được một số khóa nhỏ hơn hoặc bằng khóa được cung cấp bằng cách sử dụng phương thức highKey ().

nhập khẩu java. sử dụng . *;

nhập khẩu java. sử dụng . TreeMap ;

công cộng lớp Chính

{

công cộng tĩnh vô hiệu chính ( Sợi dây [ ] args ) {

// Tạo Sơ đồ cây với Khóa là Số nguyên và Giá trị là kiểu Chuỗi
TreeMap dân_số_dữ liệu = Mới TreeMap ( ) ;

// Chèn 5 giá trị vào đối tượng data_data
dữ liệu_dân_số. đặt ( 1000 , 'Trung Quốc' ) ;
dữ liệu_dân_số. đặt ( 2890 , 'Vương quốc Anh' ) ;
dữ liệu_dân_số. đặt ( 5000 , 'CHÚNG TA' ) ;
dữ liệu_dân_số. đặt ( 1500 , 'Delhi' ) ;
dữ liệu_dân_số. đặt ( 400 , 'Nhật Bản' ) ;

Hệ thống. ngoài . println ( 'Dân số: ' + dân_số_dữ_liệu ) ;

// Lấy khóa nhỏ hơn 5000
Hệ thống. ngoài . println ( 'lowKey (5000):' + dữ liệu_dân_số. lowKey ( 5000 ) ) ;

// Lấy khóa nhỏ hơn 400
Hệ thống. ngoài . println ( 'lowKey (400):' + dữ liệu_dân_số. lowKey ( 400 ) ) ;

}


}

Đầu ra:

  1. Chìa khóa đã cho là 5000. 2890 là khóa nhỏ hơn 5000 và lớn hơn các khóa còn lại (1000,1500) nhỏ hơn 5000 trong dữ liệu dân số.
  2. Chìa khóa đã cho là 400 . Không có khóa nào nhỏ hơn 400. Vì vậy, vô giá trị Được trả lại.

Ví dụ 2:

Hãy cung cấp Null làm chìa khóa.

nhập khẩu java. sử dụng . *;

nhập khẩu java. sử dụng . TreeMap ;

công cộng lớp Chính

{

công cộng tĩnh vô hiệu chính ( Sợi dây [ ] args ) {

// Tạo Sơ đồ cây với Khóa là Số nguyên và Giá trị là kiểu Chuỗi
TreeMap dân_số_dữ liệu = Mới TreeMap ( ) ;

// Chèn 5 giá trị vào đối tượng data_data
dữ liệu_dân_số. đặt ( 1000 , 'Trung Quốc' ) ;
dữ liệu_dân_số. đặt ( 2890 , 'Vương quốc Anh' ) ;
dữ liệu_dân_số. đặt ( 5000 , 'CHÚNG TA' ) ;
dữ liệu_dân_số. đặt ( 1500 , 'Delhi' ) ;
dữ liệu_dân_số. đặt ( 400 , 'Nhật Bản' ) ;

Hệ thống. ngoài . println ( 'Dân số: ' + dân_số_dữ_liệu ) ;

// Lấy khóa nhỏ hơn đến null
Hệ thống. ngoài . println ( 'lowKey (null):' + dữ liệu_dân_số. lowKey ( vô giá trị ) ) ;

}


}

Đầu ra:

Chìa khóa đã cho là vô giá trị . Vì thế, NullPointerException Được trả lại.

Sự kết luận

Chúng ta đã thảo luận về highKey () và lowKey () trong bộ sưu tập Java TreeMap. Cao hơnKey () trả về khóa nhỏ hơn trong số tất cả các khóa lớn hơn khóa được cung cấp. Trong khi lowKey () trả về khóa lớn hơn trong số tất cả các khóa nhỏ hơn khóa được cung cấp. NullPointerException xảy ra khi chúng ta chỉ định một tham số là null cho hai phương thức này.