কম্পিউটার টিউটোরিয়াল

জাভা অ্যারে কনটেইনস: নির্দিষ্ট মান আছে কিনা চেক করার পদ্ধতি

জাভা-তে অ্যারে নিয়ে কাজ করার সময়, আপনি এমন একটি পরিস্থিতি সম্মুখীন হতে পারেন যেখানে আপনি চেক করতে চান একটি অ্যারে নির্দিষ্ট একটি মান ধারণ করে কিনা।

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

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

এই টিউটোরিয়াল পড়ার পর, আপনি আপনার জাভা প্রোগ্রামে একটি অ্যারে নির্দিষ্ট মান ধারণ করে কিনা চেক করার প্রফেশনাল ডেভেলপার হয়ে যাবেন।

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

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

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

জাভা-তে একটি অ্যারের উদাহরণ:

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

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

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

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

ফর-ইচ লুপ ব্যবহার করা

ফর-ইচ লুপ, যাকে enhanced for লুপও বলা হয়, হলো একটি for loop এর রূপ যা আপনি একটি অ্যারে বা কালেকশনের সব আইটেমের মধ্য দিয়ে লুপ করতে ব্যবহার করতে পারেন। উদাহরণস্বরূপ, আপনি একটি কয়েন কালেকশনের সব কয়েন ধারণকারী অ্যারে এর মধ্য দিয়ে ইটারেট করতে একটি ফর-ইচ লুপ ব্যবহার করতে পারেন।

একটি অ্যারে নির্দিষ্ট একটি মান ধারণ করে কিনা চেক করতে, আমরা একটি for লুপ ব্যবহার করতে পারি। এই for লুপ একটি অ্যারেতে প্রতিটি আইটেমের মধ্য দিয়ে ইটারেট করবে এবং চেক করবে প্রতিটি আইটেম কি আমরা যেটি খুঁজছি সেটির সমান।

ধরুন, আমাদের নিউ ইয়র্ক সিটিতে আমাদের প্রিয় বেগেল শপের একটি তালিকা রয়েছে এবং আমরা চেক করতে চাই Absolute Bagels তালিকায় আছে কিনা। আমরা একটি সিম্পল লুপ ব্যবহার করে এটি করতে পারি:

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.

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

তারপর আমরা shopToFind নামে একটি ভেরিয়েবল ডিক্লেয়ার করেছি এবং এটিকে Absolute Bagels মান অ্যাসাইন করেছি। এটি আমাদের bagelShops অ্যারেতে সার্চ করার জন্য যে মানটি। পরবর্তী, আমরা found নামে একটি ভেরিয়েবল ডিক্লেয়ার করেছি, যা Absolute Bagels আমাদের লিস্টে আছে কিনা সেটি ট্র্যাক করতে ব্যবহৃত হবে।

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

যদি স্টেটমেন্টটি true ইভ্যালুয়েট হয়, found কে true সেট করা হয়, এবং ফর-ইচ লুপ এক্সিকিউট হওয়া বন্ধ করে দেয় কারণ প্রোগ্রাম একটি break স্টেটমেন্ট রান করে। যদি স্টেটমেন্টটি false ইভ্যালুয়েট হয়, if স্টেটমেন্টের কোড রান করে না।

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

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

contains() মেথড ব্যবহার করা

আপনি জাভা contains() মেথড ব্যবহার করেও চেক করতে পারেন একটি অ্যারে নির্দিষ্ট একটি মান ধারণ করে কিনা। contains() এক প্যারামিটার এক্সেপ্ট করে: অ্যারেতে আপনি যে মানটি খুঁজছেন সেটি।

contains() মেথড শুধুমাত্র চেক করতে ব্যবহার করা যায় একটি অ্যারে একটি স্ট্রিং মান ধারণ করে কিনা। আপনি যদি একটি অ্যারেতে নম্বর খুঁজতে চান, তবে আপনি ফর-ইচ লুপ টেকনিক ব্যবহার করতে চাইতে পারেন।

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

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!

আমাদের কোড ব্রেকডাউন করি। প্রথমে আমরা favoriteBands নামে একটি অ্যারে ডিক্লেয়ার করেছি যা আমাদের প্রিয় ব্যান্ডদের নামের তালিকা সংরক্ষণ করে। তারপর আমরা favoriteToFind নামে একটি ভেরিয়েবল ডিক্লেয়ার করেছি যা সার্চ করার জন্য ব্যান্ডের নাম সংরক্ষণ করে।

পরবর্তী লাইনে, আমরা contains() ব্যবহার করি চেক করার জন্য favoriteBands অ্যারে favoriteToFind-এ সংরক্ষিত মান (এই উদাহরণে Beatles) ধারণ করে কিনা। আমরা contains() স্টেটমেন্টের ফলাফলকে found নামে একটি বুলিয়ানে অ্যাসাইন করি।

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

stream() মেথড ব্যবহার করা

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

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

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.

আমাদের কোড ব্রেকডাউন করি। প্রথমে, আমরা জাভা Arrays প্যাকেজ ইম্পোর্ট করি। এটি করার জন্য আমরা কোড ব্যবহার করি: import java.util.Arrays;।

পরবর্তী, আমরা favoriteShows নামে একটি অ্যারে ডিক্লেয়ার করি। এই অ্যারে Ada-এর প্রিয় টিভি শোয়ের তালিকা সংরক্ষণ করে। তারপর আমরা showToFind নামে একটি ভেরিয়েবল ডিক্লেয়ার করি যা খুঁজতে চাই সেই শোয়ের নাম সংরক্ষণ করে। এই কেসে, আমরা Parks and Recreation মানটি showToFind-এ অ্যাসাইন করি।

তারপর, আমরা Arrays.stream() এবং anyMatch() মেথড ব্যবহার করি চেক করার জন্য showToFind-এ সংরক্ষিত মান favoriteShows অ্যারেতে আছে কিনা। এই মেথডগুলো একটি true বা false মান ফেরত দেয় যা found বুলিয়ান ভেরিয়েবলে অ্যাসাইন হয়।

যদি found ভেরিয়েবল true ইভ্যালুয়েট হয়, আমাদের প্রোগ্রাম কনসোলে 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.।

উপসংহার

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

  • ফর-ইচ লুপ
  • contains()
  • stream()

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

  1. জাভা ৯-এ JShell-এ অ্যারে ইনিশিয়ালাইজ করার পদ্ধতি

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

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

  4. জাভা গাইড: লিস্ট কে অ্যারেতে কনভার্ট করা (এবং আবার ফিরিয়ে আনা) toArray() এবং Arrays.asList() দিয়ে