কম্পিউটার

জাভা অ্যারে ধারণ করে

আপনি যখন জাভাতে অ্যারেগুলির সাথে কাজ করছেন, তখন আপনি এমন একটি পরিস্থিতির সম্মুখীন হতে পারেন যেখানে আপনি একটি অ্যারেতে একটি নির্দিষ্ট মান রয়েছে কিনা তা পরীক্ষা করতে চান৷

উদাহরণস্বরূপ, আপনি যদি এমন একটি প্রোগ্রাম তৈরি করেন যা এই মৌসুমে আপনার পাখি দেখার অগ্রগতি ট্র্যাক করে, আপনি এমন একটি ফাংশন তৈরি করতে চাইতে পারেন যা আপনাকে ইতিমধ্যেই একটি নির্দিষ্ট প্রজাতির পাখি দেখেছেন কিনা তা পরীক্ষা করতে দেয়৷

একটি অ্যারেতে একটি নির্দিষ্ট মান রয়েছে কিনা তা পরীক্ষা করতে আপনি কয়েকটি পদ্ধতি ব্যবহার করতে পারেন। এই টিউটোরিয়ালটি উদাহরণ সহ আলোচনা করবে, কিভাবে আপনি চেক করতে পারেন—প্রতিটি লুপ ব্যবহার করে, contains() , এবং stream() —যদি আপনার জাভা কোডের একটি অ্যারেতে একটি নির্দিষ্ট মান থাকে।

এই টিউটোরিয়ালটি পড়ার পরে, আপনি একটি জাভা প্রোগ্রামের একটি অ্যারেতে একটি নির্দিষ্ট মান রয়েছে কিনা তা পরীক্ষা করতে বিশেষজ্ঞ হবেন৷

জাভাতে অ্যারে

জাভাতে, অ্যারেগুলি এমন কন্টেইনার যা একক ধরণের ডেটা ধারণ করে। উদাহরণস্বরূপ, একটি অ্যারে 14টি পাখির প্রজাতির নামের একটি তালিকা রাখতে পারে যা আপনি এই বছর আপনার বাড়ির উঠোনের পাখি দেখার সময় দেখেছেন৷ এই ধরনের অ্যারেতে 14টি স্ট্রিং মান থাকবে।

অ্যারেগুলি একটি গুরুত্বপূর্ণ ডেটা টাইপ কারণ তারা বিকাশকারীদের একটি ভেরিয়েবলে প্রচুর পরিমাণে মান সংরক্ষণ করতে দেয়। এই মানগুলির প্রতিটিকে আলাদা ভেরিয়েবল হিসাবে সংরক্ষণ করার চেয়ে এটি আরও কার্যকর, এবং এটি একটি প্রোগ্রামের পঠনযোগ্যতা সংরক্ষণ করতে সহায়তা করে৷

এখানে জাভাতে একটি অ্যারের একটি উদাহরণ রয়েছে:

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

এই উদাহরণে, আমরা ব্যাগেলশপ নামে একটি অ্যারে ঘোষণা করেছি যা স্ট্রিং মান সঞ্চয় করে। তারপরে আমরা সংজ্ঞায়িত করেছি যে bagelShops ভেরিয়েবলটি চারটি স্ট্রিং সংরক্ষণ করতে সক্ষম হওয়া উচিত। এই অ্যারেতে চারটি ব্যাগেল স্টোর বরাদ্দ করতে আমরা যে কোডটি ব্যবহার করব তা এখানে:

81% অংশগ্রহণকারী বলেছেন যে তারা বুটক্যাম্পে যোগদানের পরে তাদের প্রযুক্তিগত কাজের সম্ভাবনা সম্পর্কে আরও আত্মবিশ্বাসী বোধ করেছেন। আজই একটি বুটক্যাম্পের সাথে মিলিত হন৷

গড় বুটক্যাম্প গ্র্যাড একটি বুটক্যাম্প শুরু করা থেকে শুরু করে তাদের প্রথম চাকরি খোঁজা পর্যন্ত ক্যারিয়ারের পরিবর্তনে ছয় মাসেরও কম সময় ব্যয় করেছে।

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

কিন্তু একটি অ্যারের একটি নির্দিষ্ট মান রয়েছে কিনা তা পরীক্ষা করতে আমরা কী করতে পারি? উদাহরণস্বরূপ, যদি আমরা ফরেস্ট হিলস ব্যাগেল দোকানটি আমাদের প্রিয় ব্যাগেল স্টোরের তালিকায় আছে কিনা তা পরীক্ষা করতে চাই? আসুন আমরা ব্যবহার করতে পারি এমন কয়েকটি পন্থা জেনে নেই।

প্রতিটি লুপ ব্যবহার করা

প্রতিটি লুপের জন্য, যা enhanced for নামেও পরিচিত loops, for loop এর একটি রূপ যেটি আপনি একটি অ্যারে বা সংগ্রহের সমস্ত আইটেম লুপ করতে ব্যবহার করতে পারেন। উদাহরণস্বরূপ, আপনি একটি অ্যারেতে কয়েনের একটি তালিকার মাধ্যমে পুনরাবৃত্তি করতে একটি লুপ ব্যবহার করতে পারেন যা একটি মুদ্রা সংগ্রহে সমস্ত কয়েন সংরক্ষণ করে৷

একটি অ্যারেতে একটি নির্দিষ্ট মান রয়েছে কিনা তা পরীক্ষা করার জন্য, আমরা একটি ফর লুপ ব্যবহার করতে পারি। লুপের জন্য এটি একটি অ্যারের প্রতিটি আইটেমের মাধ্যমে পুনরাবৃত্তি করবে এবং প্রতিটি আইটেম যে আইটেমের জন্য আমরা অনুসন্ধান করছি তার সমান কিনা তা পরীক্ষা করবে৷

ধরুন আমাদের নিউ ইয়র্ক সিটিতে আমাদের প্রিয় ব্যাগেল দোকানগুলির একটি তালিকা রয়েছে এবং পরম ব্যাগেলগুলি তালিকায় রয়েছে কিনা তা পরীক্ষা করতে চাই৷ আমরা এই সহজ লুপ ব্যবহার করে তা করতে পারি:

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.");
	}
}

আমাদের কোড রিটার্ন করে:

Absolute Bagels is on your list of favorite bagel stores.

আসুন আমাদের কোড ভাঙ্গা যাক। প্রথমে আমরা ব্যাগেলশপস নামে একটি অ্যারে ঘোষণা করি যেটি NYC-তে আমাদের চারটি প্রিয় ব্যাগেল দোকান সংরক্ষণ করে৷

তারপরে আমরা shopToFind নামক একটি ভেরিয়েবল ঘোষণা করি এবং এটিকে Absolute Bagels মান নির্ধারণ করি। . এটি সেই মান যার জন্য আমরা আমাদের ব্যাগেলশপস অ্যারেতে অনুসন্ধান করতে চাই। এরপরে, আমরা পাওয়া নামে একটি ভেরিয়েবল ঘোষণা করি, যেটি Absolute Bagels কিনা ট্র্যাক করতে ব্যবহার করা হবে আমাদের তালিকায় পাওয়া যায়।

পরের লাইনে, আমরা প্রতিটির জন্য একটি লুপ শুরু করি যা bagelShops তালিকার প্রতিটি আইটেমের মধ্যে লুপ করে। আমরা তারপর একটি if ব্যবহার করি আমাদের bagelShops তালিকার প্রতিটি পৃথক দোকান shopToFind ভেরিয়েবলে সংরক্ষিত মানের সমান কিনা তা পরীক্ষা করার বিবৃতি।

বিবৃতিটি সত্য হিসাবে মূল্যায়ন করলে, পাওয়া যায় সত্য হিসাবে সেট করা হয়, এবং প্রতিটি লুপ কার্যকর করা বন্ধ করে দেয় কারণ প্রোগ্রামটি একটি break চালায় বিবৃতি যদি বিবৃতিটি মিথ্যা মূল্যায়ন করে, তাহলে if স্টেটমেন্টের কোডটি চলবে না।

আমাদের প্রোগ্রামের শেষে, যদি সত্যের সমান পাওয়া যায়, তাহলে আমাদের কোডটি প্রিন্ট করবে Absolute Bagels is on your list of favorite bagel stores! কনসোলে; অন্যথায়, আমাদের কোড কনসোলে প্রিন্ট হবে:Absolute Bagels is not on your list of favorite bagel stores.

আমরা সংখ্যার তালিকায় এই পদ্ধতিটি ব্যবহার করতে পারি। সুতরাং, যদি আমাদের কাছে সংখ্যার একটি তালিকা থাকে এবং তালিকাটিতে একটি নির্দিষ্ট সংখ্যা রয়েছে কিনা তা দেখতে চাইলে আমরা আমাদের উপরের উদাহরণে যা ব্যবহার করেছি তার অনুরূপ কোড ব্যবহার করতে পারি। অবশ্যই, আমরা এই ক্ষেত্রে স্ট্রিং মানের পরিবর্তে সংখ্যা ব্যবহার করব।

constains() পদ্ধতি ব্যবহার করে

আপনি Java contains() ব্যবহার করে একটি অ্যারেতে একটি নির্দিষ্ট মান রয়েছে কিনা তা পরীক্ষা করতে পারেন পদ্ধতি contains() একটি প্যারামিটার গ্রহণ করে:যে মানটির জন্য আপনি একটি অ্যারেতে অনুসন্ধান করতে চান৷

contains() পদ্ধতিটি শুধুমাত্র একটি অ্যারেতে একটি স্ট্রিং মান রয়েছে কিনা তা পরীক্ষা করতে ব্যবহার করা যেতে পারে। আপনি যদি একটি অ্যারের মধ্যে একটি সংখ্যা অনুসন্ধান করতে চান, আপনি পরিবর্তে প্রতিটি লুপ কৌশল ব্যবহার করতে চাইতে পারেন৷

ধরুন আমাদের প্রিয় ব্যান্ডের একটি তালিকা আছে এবং সেই তালিকায় বিটলস আছে কিনা তা দেখতে চাই। আমরা এটি করতে নিম্নলিখিত কোড ব্যবহার করতে পারি:

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.");
		}
	}
}

আমাদের কোড রিটার্ন করে:

Beatles is on your list of favorite bands!

আসুন আমাদের কোড ভাঙ্গা যাক। প্রথমে আমরা ফেভারিটব্যান্ডস নামে একটি অ্যারে ঘোষণা করি যা আমাদের প্রিয় ব্যান্ডের নামের তালিকা সংরক্ষণ করে। তারপরে আমরা favoriteToFind নামক একটি ভেরিয়েবল ঘোষণা করি যা আমরা যে ব্যান্ডের জন্য অনুসন্ধান করতে চাই তার নাম সংরক্ষণ করে৷

পরবর্তী লাইনে, আমরা contains() ব্যবহার করি ফেভারিটব্যান্ডস অ্যারেতে ফেভারিটটোফাইন্ডে সংরক্ষিত মান রয়েছে কিনা তা পরীক্ষা করতে (যা Beatles এই উদাহরণে)। আমরা contains() এর ফলাফল বরাদ্দ করি একটি বুলিয়ানের কাছে বিবৃতি যাকে পাওয়া যায়।

সত্যের সমান পাওয়া গেলে, আমাদের কোড প্রিন্ট করে Beatles is on your list of favorite bands! কনসোলে; অন্যথায়, আমাদের কোড প্রিন্ট করে Beatles is not on your list of favorite bands. কনসোলে।

স্ট্রিম() পদ্ধতি ব্যবহার করে

জাভা অ্যারে প্যাকেজে অ্যারেগুলির সাথে কাজ করার জন্য ব্যবহৃত বেশ কয়েকটি ফাংশন রয়েছে। এই ফাংশনগুলির মধ্যে একটি হল stream() , যা আপনি একটি অ্যারেতে একটি নির্দিষ্ট মান রয়েছে কিনা তা পরীক্ষা করতে ব্যবহার করতে পারেন। আপনাকে অবশ্যই anyMatch() ব্যবহার করতে হবে stream() সহ পদ্ধতি এটি করার জন্য ফাংশন।

ধরুন আমাদের বন্ধু অ্যাডার প্রিয় টিভি শোগুলির একটি তালিকা রয়েছে এবং আমরা পার্ক এবং বিনোদন কিনা তা খুঁজে বের করতে চাই তার তালিকায় আছে। আমরা এই কোডটি ব্যবহার করে তা করতে পারি:

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.");
		}
	}
}

আমাদের কোড রিটার্ন করে:

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

আসুন আমাদের কোড ভাঙ্গা যাক। প্রথমত, আমরা জাভা অ্যারে প্যাকেজ আমদানি করি। এটি করার জন্য, আমরা কোড ব্যবহার করি:import java.util.Arrays; .

এর পরে, আমরা ফেভারিট শো নামে একটি অ্যারে ঘোষণা করি। এই অ্যারে অ্যাডার প্রিয় টিভি শোগুলির একটি তালিকা সঞ্চয় করে৷ তারপরে আমরা showToFind নামক একটি ভেরিয়েবল ঘোষণা করি যা আমরা যে শোটি খুঁজতে চাই তার নাম সংরক্ষণ করে। এই ক্ষেত্রে, আমরা Parks and Recreation মান নির্ধারণ করি ShowToFind.

তারপর, আমরা Arrays.stream() ব্যবহার করি এবং anyMatch() showToFind-এ সংরক্ষিত মান ফেভারিট শো অ্যারেতে বিদ্যমান কিনা তা পরীক্ষা করার পদ্ধতি। এই পদ্ধতিগুলি একটি সত্য বা মিথ্যা মান প্রদান করে যা পাওয়া বুলিয়ান ভেরিয়েবলের জন্য নির্ধারিত হয়।

যদি পাওয়া পরিবর্তনশীলটিকে সত্য বলে মূল্যায়ন করা হয়, তাহলে আমাদের প্রোগ্রাম প্রিন্ট করে Parks and Recreation is on Ada’s list of favorite TV shows. কনসোলে অন্যথায়, আমাদের প্রোগ্রাম প্রিন্ট করে Parks and Recreation is not on Ada’s list of favorite TV shows. কনসোলে।

উপসংহার

একটি অ্যারেতে একটি নির্দিষ্ট মান রয়েছে কিনা তা পরীক্ষা করা জাভাতে একটি সাধারণ কাজ। একটি অ্যারেতে একটি নির্দিষ্ট মান রয়েছে কিনা তা পরীক্ষা করার জন্য তিনটি প্রধান পদ্ধতি হল:

  • প্রতিটি লুপের জন্য
  • ধারণ করে()
  • স্ট্রিম()

এই টিউটোরিয়ালে আলোচনা করা হয়েছে, উদাহরণ ব্যবহার করে, কিভাবে জাভাতে একটি অ্যারেতে একটি নির্দিষ্ট মান রয়েছে কিনা তা পরীক্ষা করা যায়। একটি জাভা অ্যারেতে পেশাদার বিকাশকারীর মতো একটি নির্দিষ্ট মান রয়েছে কিনা তা পরীক্ষা করার জন্য এখন আপনার দক্ষতা রয়েছে!


  1. কিভাবে জাভা 9 এ JShell এ একটি অ্যারে শুরু করবেন?

  2. জাভাতে ArrayIndexOutOfBoundsException কি?

  3. জাভাতে ডিফল্ট অ্যারে মান

  4. জাভাতে তালিকাকে অ্যারেতে রূপান্তর করুন