কম্পিউটার

কীভাবে জাভাতে ভেক্টর ব্যবহার করবেন

কীভাবে জাভাতে ভেক্টর ব্যবহার করবেন

জাভাতে, নির্দিষ্ট ধরণের ডেটা সঞ্চয় করতে ব্যবহৃত ক্লাসের একটি বিস্তৃত পরিসর রয়েছে। প্রতিটি ক্লাসের নিজস্ব বৈশিষ্ট্য রয়েছে এবং এক ধরণের ডেটা সঞ্চয় করার জন্য ব্যবহৃত ক্লাসটি নির্ধারণ করে যে এটি কীভাবে অ্যাক্সেস করা যায় এবং ম্যানিপুলেট করা যায়।

জাভার সবচেয়ে গুরুত্বপূর্ণ ক্লাসগুলির মধ্যে একটি হল ভেক্টর ক্লাস। ভেক্টর হল লিস্ট ইন্টারফেসের একটি ইমপ্লিমেন্টেশন এবং রিসাইজযোগ্য অ্যারে তৈরি করতে ব্যবহৃত হয়।

এই টিউটোরিয়ালটি উদাহরণের রেফারেন্স সহ, কিভাবে জাভাতে ভেক্টর ক্লাস ব্যবহার করে পরিবর্তনযোগ্য অ্যারে তৈরি করতে হবে। উপরন্তু, এই টিউটোরিয়ালটি আলোচনা করবে কিভাবে ভেক্টর ArrayList ক্লাসের সাথে তুলনা করে, যেটি ভেক্টরের সাথে খুব মিল।

জাভা তালিকা ইন্টারফেস

লিস্ট ইন্টারফেসটি জাভাতে অর্ডারকৃত ডেটার সেট তৈরি করতে ব্যবহৃত হয়। উদাহরণস্বরূপ, একটি তালিকা একটি জুতার দোকানে বিক্রি হওয়া জুতাগুলির একটি তালিকা বা একটি ব্যাঙ্কের জন্য কাজ করে এমন প্রতিটি কর্মচারীর নামের একটি তালিকা সংরক্ষণ করতে পারে।

যাইহোক, যেহেতু তালিকা একটি ইন্টারফেস, আপনি তালিকা থেকে একটি বস্তু তৈরি করতে পারবেন না। সুতরাং, আপনি যদি একটি তালিকা তৈরি করতে চান, তাহলে আপনাকে এমন একটি ক্লাস ব্যবহার করতে হবে যা তালিকা ইন্টারফেসকে প্রসারিত করে। এগুলো হল:ArrayList, LinkedList, Vector, এবং Stack। এই টিউটোরিয়ালটি জাভাতে একটি তালিকা বস্তু তৈরি করতে আপনি কীভাবে ভেক্টর ক্লাস ব্যবহার করতে পারেন তার উপর ফোকাস করবে।

জাভা ভেক্টর

ভেক্টর পরিবর্তনযোগ্য অ্যারে তৈরি করতে তালিকা ইন্টারফেস ব্যবহার করে। জাভাতে একটি ভেক্টর তৈরি করতে, আপনি নিম্নলিখিত সিনট্যাক্স ব্যবহার করতে পারেন:

Vector<DataType> vector_name = new Vector<>();

আসুন এই সিনট্যাক্সটিকে এর মৌলিক অংশগুলিতে ভেঙে ফেলি:

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

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

  • ভেক্টর আমাদের প্রোগ্রামকে বলে আমরা একটি ভেক্টর ঘোষণা করতে চাই৷
  • ডেটা টাইপ আমাদের ভেক্টর যে ধরনের ডেটা সংরক্ষণ করবে।
  • ভেক্টর_নাম আমাদের ভেক্টরের নাম।
  • নতুন ভেক্টর<>(); একটি নতুন ভেক্টর তৈরি করে এবং এটি vector_name -এ বরাদ্দ করে পরিবর্তনশীল।

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

Vector<String> lamp_colors = new Vector>?();

এখন আমাদের কাছে lamp_colors নামে একটি ভেক্টর আছে যা আমাদের ডিপার্টমেন্ট স্টোর বিক্রি করে সব রঙের বাতি সংরক্ষণ করতে পারে।

জাভা ভেক্টর পদ্ধতি

জাভা ভেক্টর ক্লাস অনেকগুলি পদ্ধতি সরবরাহ করে যা একটি ভেক্টরে সংরক্ষিত ডেটা পুনরুদ্ধার এবং ম্যানিপুলেট করতে ব্যবহৃত হয়। আসুন ভেক্টর শ্রেণী দ্বারা অফার করা সবচেয়ে গুরুত্বপূর্ণ কয়েকটি পদ্ধতি ভেঙে দেওয়া যাক।

একটি ভেক্টরে আইটেম যোগ করুন

ভেক্টরে আইটেম যোগ করার জন্য তিনটি পদ্ধতি ব্যবহার করা হয়। আপনি যেটি ব্যবহার করেন তা নির্ভর করবে আপনি কীভাবে একটি ভেক্টরে একটি আইটেম যুক্ত করতে চান তার উপর।

ভেক্টরে উপাদান যোগ করুন

add() একটি ভেক্টরে একটি উপাদান যোগ করার জন্য পদ্ধতি ব্যবহার করা হয়। add() -এর সিনট্যাক্স পদ্ধতি হল:

add(index, elementName);

add() পদ্ধতি দুটি পরামিতি গ্রহণ করে:

  • সূচী সূচী মান যেখানে আপনি নির্দিষ্ট আইটেম একটি ভেক্টর যোগ করা উচিত.
  • elementName আপনি একটি ভেক্টর যোগ করতে চান আইটেম.

আপনি যদি একটি ভেক্টরের শেষে একটি আইটেম যোগ করতে চান, index পরামিতি প্রয়োজন হয় না।

ধরুন আমরা একটি ডিপার্টমেন্টাল স্টোর চেইন পরিচালনা করছি এবং আমরা আমাদের নতুন আসবাবের পরিসরের জন্য যে রঙে একটি নির্দিষ্ট ডেস্ক ল্যাম্প বিক্রি করা হয় তার একটি তালিকা তৈরি করছি। প্রস্তুতকারক আমাদেরকে এইমাত্র অবহিত করেছেন যে কমলা এবং নীল ল্যাম্প পরবর্তী অর্ডারের সাথে থাকবে, তাই আমরা আমাদের রঙের তালিকায় কমলা এবং নীল যোগ করতে চাই।

আমরা এই কোড ব্যবহার করে তা করতে পারি:

import java.util.Vector;

class Main {
	public static void main(String[] args) {
		Vector<String> lamp_colors = new Vector<>();
		
		lamp_colors.add("Orange");
		lamp_colors.add("Blue");

		System.out.println("Vector: " + lamp_colors);
	}
}

আমাদের কোড ফিরে আসে:

Vector: [Orange, Blue]

আপনি দেখতে পাচ্ছেন, আমাদের কোড Orange যোগ করেছে এবং Blue আমাদের lamp_colors -এ ভেক্টর

ধরুন প্রস্তুতকারক আমাদের কাছে পৌঁছেছেন যে তারা আমাদের ধূসর বাতিও সরবরাহ করতে চলেছে৷ আমরা আমাদের তালিকার শুরুতে ধূসর আলো যুক্ত করতে চাই কারণ আমরা আশা করি সেগুলি অন্যান্য রঙের চেয়ে বেশি জনপ্রিয় হবে। আমরা উপরে থেকে উদাহরণ ব্যবহার করে এবং এই কোড যোগ করে তা করতে পারি:

import java.util.Vector;

class Main {
	public static void main(String[] args) {
		Vector<String> lamp_colors = new Vector<>();
		
		lamp_colors.add("Orange");
		lamp_colors.add("Blue");
lamp_colors.add(0, "Gray");

		System.out.println("Vector: " + lamp_colors);
	}
}

আমাদের কোড ফিরে আসে:

Vector: [Gray, Orange, Blue]

এই উদাহরণে, আমরা add() ব্যবহার করেছি Gray যোগ করার পদ্ধতি lamp_colors-এ ভেক্টর আমরা আমাদের কোডে ইনডেক্স প্যারামিটার 0 নির্দিষ্ট করেছি যা add() বলে Gray যোগ করতে সূচক পজিশন 0 এ আইটেম। অন্য কথায়, আমরা Gray যোগ করেছি আমাদের ভেক্টরের শুরুতে। তারপর আমরা আমাদের প্রোগ্রামকে বলি পুরো ভেক্টর প্রিন্ট করতে।

ভেক্টর একত্রিত করুন

addAll() একটি ভেক্টর থেকে অন্য ভেক্টরে সমস্ত উপাদান যোগ করার জন্য পদ্ধতি ব্যবহার করা হয়।

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

import java.util.Vector;

class Main {
	public static void main(String[] args) {
		Vector<String> color_range = new Vector<>();
		Vector<String> lamp_colors = new Vector<>();

		color_range.add("Blue");
		color_range.add("Black");
		color_range.add("Gray");
		color_range.add("Pink");
		color_range.add("Orange");

		lamp_colors.addAll(color_range);

		System.out.println("Color range: " + color_range);
		System.out.println("Lamp colors: " + lamp_colors);
	}
}

আমাদের কোড ফিরে আসে:

Color range: [Blue, Black, Gray, Pink, Orange]
Lamp colors: [Blue, Black, Gray, Pink, Orange]

আমাদের কোড প্রথমে ভেক্টর color_range-এ আমাদের রঙের পরিসরে রং যোগ করে . তারপর আমরা addAll() ব্যবহার করেছি color_range থেকে সব রং যোগ করতে lamp_colors-এ ভেক্টর আমাদের কোডের চূড়ান্ত লাইনে, আমরা color_range-এর উভয় বিষয়বস্তুই প্রিন্ট করি এবং lamp_colors কনসোলে

একটি ভেক্টর থেকে উপাদান পুনরুদ্ধার করুন

get() পদ্ধতিটি একটি ভেক্টর থেকে একটি নির্দিষ্ট উপাদান পুনরুদ্ধার করতে ব্যবহৃত হয়। get() একটি প্যারামিটার গ্রহণ করে:আপনি যে আইটেমটি পুনরুদ্ধার করতে চান তার সূচক মান।

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

import java.util.Vector;

class Main {
	public static void main(String[] args) {
		Vector<String> lamp_colors = new Vector<>();

lamp_colors.add("Black");
		lamp_colors.add("Blue");
		lamp_colors.add("Gray");
		lamp_colors.add("Orange");
		lamp_colors.add("Pink");

		String first_element = lamp_colors.get(0);

		System.out.println("First element in list: " + first_element);
	}
}

আমাদের কোড ফিরে আসে:

First element in list: Black

আমাদের কোডে, আমরা get() ব্যবহার করি lamp_colors-এ প্রথম আইটেমটি পুনরুদ্ধার করার পদ্ধতি ভেক্টর আমরা ইনডেক্স প্যারামিটার 0 নির্দিষ্ট করি, যা আমাদের কোডকে ভেক্টরের প্রথম আইটেমটি পুনরুদ্ধার করতে বলে বা অন্য কথায় সূচকের অবস্থান 0-এ আইটেমটিকে বলে। তারপর, আমরা তালিকার প্রথম উপাদানটিকে কনসোলে প্রিন্ট আউট করি, এর আগে বার্তা First element in list: .

একটি ভেক্টর থেকে উপাদানগুলি সরান

একটি ভেক্টর থেকে উপাদান অপসারণ করতে তিনটি পদ্ধতি ব্যবহার করা যেতে পারে:remove() , removeAll() , এবং clear().

একক উপাদান সরান

remove() একটি ভেক্টর থেকে একটি একক উপাদান অপসারণ করার জন্য পদ্ধতি ব্যবহার করা হয়। remove() a একটি পরামিতি গ্রহণ করে:উপাদানটির সূচক অবস্থান যা আপনি একটি ভেক্টর থেকে সরাতে চান।

ডিপার্টমেন্টাল স্টোরে ফিরে আসা যাক। আমাদের প্রস্তুতকারক আমাদের অবহিত করেছেন যে তারা আর আমাদের কমলা বাতি তৈরি করতে সক্ষম নয়, এবং তাই আমাদের সেগুলিকে আমাদের রঙের তালিকা থেকে সরিয়ে দিতে হবে যেখানে আমাদের আলো বিক্রি হয়৷ আমরা এই কোড ব্যবহার করে তা করতে পারি:

import java.util.Vector;

class Main {
	public static void main(String[] args) {
		Vector<String> lamp_colors = new Vector<>();

lamp_colors.add("Black");
		lamp_colors.add("Blue");
		lamp_colors.add("Gray");
		lamp_colors.add("Orange");
		lamp_colors.add("Pink");

		lamp_colors.remove(3);

		System.out.println("New color list: " + lamp_colors);
	}
}

আমাদের কোড ফিরে আসে:

New color list: [Black, Blue, Gray, Pink]

আমরা remove() ব্যবহার করেছি আমাদের তালিকায় সূচক অবস্থান 3 এ আইটেমটি সরানোর পদ্ধতি। এই ক্ষেত্রে, সেই আইটেমের মান হল Orange . তারপরে আমরা কনসোলে সংশোধিত রঙের তালিকাটি প্রিন্ট আউট করি, তার আগে New color list: .

সকল উপাদান সরান

removeAll() এবং clear() একটি তালিকা থেকে সমস্ত উপাদান মুছে ফেলার জন্য পদ্ধতি ব্যবহার করা হয়। সাধারণত, clear() ব্যবহার করে পছন্দসই কারণ এটি আরও দক্ষ, তবে আপনি removeAll()ও ব্যবহার করতে পারেন পদ্ধতি

ধরুন নির্মাতা সিদ্ধান্ত নিয়েছে যে তারা আর আমাদের ল্যাম্প তৈরি করতে পারবে না কারণ তারা তাদের ক্রিয়াকলাপ কমিয়ে দিচ্ছে। সুতরাং, আমরা একটি নতুন প্রস্তুতকারক খুঁজে না পাওয়া পর্যন্ত আমরা আর বাতি বিক্রি করব না। আমরা যে বাতি বিক্রি করি তার সমস্ত রঙ সরাতে আমরা নিম্নলিখিত তালিকাটি ব্যবহার করতে পারি:

import java.util.Vector;

class Main {
	public static void main(String[] args) {
		Vector<String> lamp_colors = new Vector<>();

lamp_colors.add("Black");
		lamp_colors.add("Blue");
		lamp_colors.add("Gray");
		lamp_colors.add("Orange");
		lamp_colors.add("Pink");

		lamp_colors.clear();

		System.out.println("New color list: " + lamp_colors);
	}
}

আমাদের কোড ফিরে আসে:

New color list: []

আমরা clear() ব্যবহার করেছি lamp_colors-এর সমস্ত উপাদান সরানোর পদ্ধতি ভেক্টর তারপর, আমাদের কোডের চূড়ান্ত লাইনে, আমরা নতুন রঙের তালিকাটি প্রিন্ট আউট করেছি:“, তারপরে খালি ভেক্টর।

জাভা ভেক্টর এবং অ্যারেলিস্ট

ArrayList এবং Vector উভয়ই জাভা তালিকা ইন্টারফেস বাস্তবায়ন করে। এই ক্লাসগুলি একই পদ্ধতি প্রদান করে। যাইহোক, দুটি শ্রেণীর মধ্যে কয়েকটি পার্থক্য রয়েছে।

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

অতিরিক্ত ভেক্টর পদ্ধতি

এছাড়াও, আরও কয়েকটি পদ্ধতি রয়েছে যা একটি ভেক্টরের মধ্যে সংরক্ষিত ডেটা ম্যানিপুলেট করতে ব্যবহার করা যেতে পারে। এখানে এই পদ্ধতিগুলির সাথে একটি রেফারেন্স টেবিল রয়েছে:

পদ্ধতির নাম বর্ণনা
ধারণ করে() একটি নির্দিষ্ট মানের জন্য একটি ভেক্টর অনুসন্ধান করে
ইটারেটর() একটি ভেক্টরের মাধ্যমে পুনরাবৃত্তি করে
সেট() একটি ভেক্টরে একটি উপাদান পরিবর্তন করে
size() একটি ভেক্টরের দৈর্ঘ্য ফেরত দেয়
toArray() একটি ভেক্টরকে একটি অ্যারেতে রূপান্তর করে
toString() একটি ভেক্টরকে একটি স্ট্রিংয়ে রূপান্তর করে

উপসংহার

তালিকা ইন্টারফেস ব্যবহার করে ডেটা সংরক্ষণ করতে জাভাতে ভেক্টর ক্লাস ব্যবহার করা হয়। উদাহরণস্বরূপ, একটি ডিপার্টমেন্টাল স্টোরে বিক্রি হওয়া পণ্যের তালিকা বা স্থানীয় ওষুধের দোকানে উপলব্ধ সম্পূরকগুলির একটি তালিকা সংরক্ষণ করতে একটি ভেক্টর ব্যবহার করা যেতে পারে।

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

এখন আপনার কাছে জাভাতে ভেক্টর ক্লাসটি একজন পেশাদারের মতো ব্যবহার শুরু করার জন্য প্রয়োজনীয় দক্ষতা রয়েছে!


  1. কিভাবে Java Math.random ব্যবহার করবেন

  2. কিভাবে পাইথন এক্সটেন্ড() ব্যবহার করবেন

  3. অ্যান্ড্রয়েডে সার্চভিউ কীভাবে ব্যবহার করবেন?

  4. কিভাবে HTML এ লিস্ট এট্রিবিউট ব্যবহার করবেন?