Computer >> Máy Tính >  >> Lập trình >> Java

Mảng Java chứa

Khi làm việc với mảng trong Java, bạn có thể gặp phải tình huống muốn kiểm tra xem một mảng có chứa một giá trị cụ thể hay không.

Ví dụ:nếu bạn đang xây dựng một chương trình theo dõi tiến trình xem chim của mình trong mùa này, bạn có thể muốn xây dựng một chức năng cho phép bạn kiểm tra xem bạn đã nhìn thấy một loài chim cụ thể nào chưa.

Có một số cách tiếp cận mà bạn có thể sử dụng để kiểm tra xem một mảng có chứa một giá trị cụ thể hay không. Hướng dẫn này sẽ thảo luận, với các ví dụ, cách bạn có thể kiểm tra — sử dụng vòng lặp cho từng thứ, contains()stream() —Nếu một mảng trong mã Java của bạn chứa một giá trị nhất định.

Sau khi đọc hướng dẫn này, bạn sẽ trở thành một chuyên gia trong việc kiểm tra xem một mảng trong chương trình Java có chứa một giá trị cụ thể hay không.

Mảng trong Java

Trong Java, mảng là vùng chứa chứa dữ liệu của một kiểu duy nhất. Ví dụ:một mảng có thể chứa danh sách tên của 14 loài chim bạn đã thấy trong buổi xem chim ở sân sau của mình trong năm nay. Một mảng như vậy sẽ chứa 14 giá trị chuỗi.

Mảng là một kiểu dữ liệu quan trọng vì chúng cho phép các nhà phát triển lưu trữ một số lượng lớn các giá trị trong một biến. Điều này hiệu quả hơn việc lưu trữ từng giá trị đó dưới dạng các biến riêng biệt và nó giúp duy trì khả năng đọc của chương trình.

Dưới đây là ví dụ về một mảng trong Java:

String[] bagelShops;
bagelShops = new String[4];

Trong ví dụ này, chúng tôi đã khai báo một mảng — được gọi là bagelShops — lưu trữ các giá trị chuỗi. Sau đó, chúng tôi xác định rằng biến bagelShops phải có khả năng lưu trữ bốn chuỗi. Đây là mã chúng tôi sẽ sử dụng để chỉ định bốn cửa hàng bánh mì tròn cho mảng này:

81% người tham gia cho biết họ cảm thấy tự tin hơn về triển vọng công việc công nghệ của mình sau khi tham gia chương trình đào tạo. Kết hợp với bootcamp ngay hôm nay.

Sinh viên tốt nghiệp bootcamp trung bình dành ít hơn sáu tháng để chuyển đổi nghề nghiệp, từ khi bắt đầu bootcamp đến khi tìm được công việc đầu tiên của họ.

String[] bagelShops = {"Absolute Bagels", "Bo's Bagels", "Brooklyn Bagel and Coffee Company", "Forest Hills Bagel"};

Nhưng chúng ta có thể làm gì để kiểm tra xem một mảng có chứa một giá trị cụ thể hay không? Ví dụ, nếu chúng ta muốn kiểm tra xem cửa hàng bánh mì Bagel ở Forest Hills có nằm trong danh sách các cửa hàng bánh mì tròn yêu thích của chúng tôi hay không? Hãy đi sâu vào một số phương pháp mà chúng ta có thể sử dụng.

Sử dụng vòng lặp for-each

for-each loop, còn được gọi là enhanced for vòng lặp, là một dạng của for loop mà bạn có thể sử dụng để lặp qua tất cả các mục trong một mảng hoặc bộ sưu tập. Ví dụ:bạn có thể sử dụng vòng lặp for-each để lặp qua danh sách các đồng tiền trong một mảng lưu trữ tất cả các đồng tiền trong bộ sưu tập tiền xu.

Để kiểm tra xem một mảng có chứa một giá trị cụ thể hay không, chúng ta có thể sử dụng vòng lặp for. Vòng lặp for này sẽ lặp lại mọi mục trong một mảng và kiểm tra xem từng mục có bằng với mục mà chúng ta đang tìm kiếm hay không.

Giả sử chúng ta có một danh sách các cửa hàng bánh mì tròn yêu thích của mình ở Thành phố New York và muốn kiểm tra xem bánh mì vòng Absolute có trong danh sách hay không. Chúng tôi có thể làm như vậy bằng cách sử dụng vòng lặp đơn giản sau:

class Main {
	public static void main(String[] args) {
		String[] bagelShops = {"Absolute Bagels", "Bo's Bagels", "Brooklyn Bagel and Coffee Company", "Forest Hills Bagel"};
		String shopToFind = "Absolute Bagels";
		boolean found = false;

		for (String shop : bagelShops) {
			if (shop == shopToFind) {
				found = true;
				break;
			}
		}

		if (found) {
			System.out.println("Absolute Bagels is on your list of favorite bagel stores!");
		} else {
			System.out.println("Absolute Bagels is not on your list of favorite bagel stores.");
	}
}

Mã của chúng tôi trả về:

Absolute Bagels is on your list of favorite bagel stores.

Hãy chia nhỏ mã của chúng ta. Đầu tiên, chúng tôi khai báo một mảng có tên là bagelShops lưu trữ bốn cửa hàng bánh mì bagel yêu thích của chúng tôi ở NYC.

Sau đó, chúng tôi khai báo một biến có tên là shopToFind và gán cho nó giá trị Absolute Bagels . Đây là giá trị mà chúng tôi muốn tìm kiếm trong mảng bagelShops của mình. Tiếp theo, chúng tôi khai báo một biến có tên là found, biến này sẽ được sử dụng để theo dõi xem Absolute Bagels được tìm thấy trong danh sách của chúng tôi.

Trên dòng tiếp theo, chúng tôi khởi tạo một vòng lặp cho từng vòng lặp qua mọi mục trong danh sách bagelShops. Sau đó, chúng tôi sử dụng if để kiểm tra xem từng cửa hàng riêng lẻ trong danh sách bagelShops của chúng tôi có bằng với giá trị được lưu trữ trong biến shopToFind hay không.

Nếu câu lệnh đánh giá là true, thì found được đặt thành true và vòng lặp for-each ngừng thực thi vì chương trình chạy một break tuyên bố. Nếu câu lệnh cho kết quả là false, thì mã trong câu lệnh if không chạy.

Vào cuối chương trình của chúng tôi, nếu được tìm thấy bằng true, mã của chúng tôi sẽ in Absolute Bagels is on your list of favorite bagel stores! đến bàn điều khiển; nếu không, mã của chúng tôi sẽ được in ra bảng điều khiển:Absolute Bagels is not on your list of favorite bagel stores.

Chúng tôi cũng có thể sử dụng phương pháp này trên một danh sách các con số. Vì vậy, nếu chúng ta có một danh sách các số và muốn xem liệu danh sách có chứa một số cụ thể hay không, chúng ta có thể sử dụng mã tương tự như những gì chúng ta đã sử dụng trong ví dụ trên. Tất nhiên, chúng tôi sẽ sử dụng số thay vì giá trị chuỗi trong trường hợp này.

Sử dụng phương thức chứa ()

Bạn cũng có thể kiểm tra xem một mảng có chứa một giá trị cụ thể hay không bằng cách sử dụng Java contains() phương pháp. contains() chấp nhận một tham số:giá trị mà bạn muốn tìm kiếm trong một mảng.

contains() phương thức chỉ có thể được sử dụng để kiểm tra xem một mảng có chứa giá trị chuỗi hay không. Nếu bạn muốn tìm kiếm một số trong một mảng, bạn có thể muốn sử dụng kỹ thuật lặp cho từng.

Giả sử chúng ta có một danh sách các ban nhạc yêu thích của mình và muốn xem Beatles có trong danh sách đó hay không. Chúng tôi có thể sử dụng mã sau để làm như vậy:

class Main {
	public static void main(String[] args) {
		String[] favoriteBands = {"Beatles", "Revivalists", "Jonas Brothers"};
		String favoriteToFind = "Beatles";
		boolean found = favoriteBands.contains(favoriteToFind);

		if (found) {
			System.out.println("Beatles is on your list of favorite bands!");
		} else {
			System.out.println("Beatles is not on your list of favorite bands.");
		}
	}
}

Mã của chúng tôi trả về:

Beatles is on your list of favorite bands!

Hãy chia nhỏ mã của chúng ta. Đầu tiên, chúng ta khai báo một mảng có tên là favouriteBands lưu trữ danh sách tên các ban nhạc yêu thích của chúng ta. Sau đó, chúng tôi khai báo một biến có tên là favouriteToFind, biến này lưu trữ tên của ban nhạc mà chúng tôi muốn tìm kiếm.

Trên dòng tiếp theo, chúng tôi sử dụng contains() để kiểm tra xem mảng favouriteBands có chứa giá trị được lưu trữ trong favouriteToFind hay không (là Beatles trong ví dụ này). Chúng tôi chỉ định kết quả của contains() câu lệnh cho một boolean được gọi là found.

Nếu được tìm thấy bằng true, mã của chúng tôi in Beatles is on your list of favorite bands! đến bàn điều khiển; nếu không, bản in mã của chúng tôi Beatles is not on your list of favorite bands. vào bảng điều khiển.

Sử dụng phương thức stream ()

Gói Java Arrays chứa một số hàm được sử dụng để làm việc với mảng. Một trong những hàm này là stream() , bạn có thể sử dụng để kiểm tra xem một mảng có chứa một giá trị cụ thể hay không. Bạn phải sử dụng anyMatch() với stream() chức năng để làm như vậy.

Giả sử chúng tôi có danh sách các chương trình truyền hình yêu thích của người bạn Ada và chúng tôi muốn tìm hiểu xem Công viên và giải trí có trong danh sách của cô ấy. Chúng tôi có thể làm như vậy bằng cách sử dụng mã này:

import java.util.Arrays;

class Main {
	public static void main(String[] args) {
		String[] favoriteShows = {"Billions", "Silicon Valley", "Superstore"};
		String showToFind = "Parks and Recreation";
		boolean found = Arrays.stream(favoriteShows).anyMatch(show -> show.equals(showToFind));

		if (found) {
			System.out.println("Parks and Recreation is on Ada's list of favorite TV shows.");
		} else {
			System.out.println("Parks and Recreation is not on Ada's list of favorite TV shows.");
		}
	}
}

Mã của chúng tôi trả về:

Parks and Recreation is not on Ada's list of favorite TV shows.

Hãy chia nhỏ mã của chúng ta. Đầu tiên, chúng tôi nhập gói Mảng Java. Để làm như vậy, chúng tôi sử dụng mã:import java.util.Arrays; .

Tiếp theo, chúng ta khai báo một mảng có tên là favouriteShows. Mảng này lưu trữ danh sách các chương trình truyền hình yêu thích của Ada. Sau đó, chúng ta khai báo một biến có tên là showToFind lưu trữ tên của chương trình mà chúng ta muốn tìm. Trong trường hợp này, chúng tôi chỉ định giá trị Parks and Recreation để showToFind.

Sau đó, chúng tôi sử dụng Arrays.stream()anyMatch() để kiểm tra xem giá trị được lưu trữ trong showToFind có tồn tại trong mảng favourite hay không. Các phương thức này trả về giá trị true hoặc false được gán cho biến boolean được tìm thấy.

Nếu biến tìm thấy cho kết quả là true, chương trình của chúng tôi sẽ in Parks and Recreation is on Ada’s list of favorite TV shows. vào bảng điều khiển. Nếu không, chương trình của chúng tôi in Parks and Recreation is not on Ada’s list of favorite TV shows. vào bảng điều khiển.

Kết luận

Kiểm tra xem một mảng có chứa một giá trị cụ thể hay không là một thao tác phổ biến trong Java. Ba cách tiếp cận chính để kiểm tra xem một mảng có chứa một giá trị nhất định hay không là:

  • cho từng vòng lặp
  • chứa ()
  • stream ()

Hướng dẫn này đã thảo luận, sử dụng các ví dụ, cách kiểm tra xem một mảng trong Java có chứa một giá trị cụ thể hay không. Bây giờ bạn có các kỹ năng cần thiết để kiểm tra xem một mảng Java có chứa một giá trị nhất định như một nhà phát triển chuyên nghiệp hay không!