আমি স্থির করেছি যে জাভা ArrayList.add
কোনও জাভাস্ক্রিপ্টের মতোArray.push
আমি ArrayList
নিম্নলিখিত অনুরূপ ফাংশন সন্ধান আটকে আছি
Array.pop
Array.shift
Array.unshift
আমি ঝুঁকছিArrayList.remove[At]
উত্তর:
ArrayList
নামকরণের মানগুলির মধ্যে এটি অনন্য। এখানে সমতা:
Array.push -> ArrayList.add(Object o); // Append the list
Array.pop -> ArrayList.remove(int index); // Remove list[index]
Array.shift -> ArrayList.remove(0); // Remove first element
Array.unshift -> ArrayList.add(int index, Object o); // Prepend the list
লক্ষ্য করুন unshift
নেই অপসারণ একটি উপাদান, কিন্তু এর পরিবর্তে যোগ লিস্টে এক। এছাড়াও নোট করুন যে কর্নার-কেস আচরণগুলি জাভা এবং জেএস এর মধ্যে পৃথক হতে পারে, যেহেতু তাদের প্রত্যেকটির নিজস্ব মান রয়েছে।
.push
?
Array.push -> ArrayList.add
, এবং বিশেষভাবে সম্পর্কে জিজ্ঞাসা pop
, shift
এবং unshift
। এটি আবার পড়া, আমি .push
একই সাথে আরও ব্যাখ্যা এবং যুক্ত করতে যাচ্ছি ।
কিছুক্ষন আগে আমি এই সমস্যার মুখোমুখি হয়েছি এবং আমি java.util.LinkedList
আমার মামলার পক্ষে সেরা is বিভিন্ন নামকরণ সহ এটির বেশ কয়েকটি পদ্ধতি রয়েছে তবে তারা যা প্রয়োজন তা করছে:
push() -> LinkedList.addLast(); // Or just LinkedList.add();
pop() -> LinkedList.pollLast();
shift() -> LinkedList.pollFirst();
unshift() -> LinkedList.addFirst();
LinkeList
এমন পদ্ধতিগুলি যুক্ত করে যা খুব অদক্ষ হতে পারে , ArrayList
এটিই List
আমাকে বিভ্রান্ত করেছিল। এই পদ্ধতি থেকে আসা Deque
এবং Queue
ইন্টারফেস যার ফলে এটি প্রয়োগ, কিন্তু ArrayList
না।
সম্ভবত আপনি একটি java.util.Stack
ক্লাস নিতে চান । এটি ধাক্কা, পপ পদ্ধতি আছে। এবং কার্যকর তালিকাভুক্ত ইন্টারফেস।
শিফট / আনশিফ্টের জন্য, আপনি @ জনের উত্তরটি উল্লেখ করতে পারেন।
তবে ArrayList কিছু আপনার পছন্দের চাইতে পারেন, arrayList হয় না সিঙ্ক্রোনাইজ। কিন্তু স্ট্যাক হয়। (ভেক্টরের উপ-শ্রেণি)। আপনার যদি থ্রেড-নিরাপদ প্রয়োজনীয়তা থাকে তবে অ্যারেলিস্টের চেয়ে স্ট্যাক ভাল better
জনের দুর্দান্ত উত্তর ।
যদিও আমি অলস এবং আমি টাইপিংকে ঘৃণা করি, তাই আমি আমার মতো অন্যান্য সমস্ত লোকের জন্য একটি সাধারণ কাট এবং পেস্ট উদাহরণ তৈরি করেছি। উপভোগ করুন!
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> animals = new ArrayList<>();
animals.add("Lion");
animals.add("Tiger");
animals.add("Cat");
animals.add("Dog");
System.out.println(animals); // [Lion, Tiger, Cat, Dog]
// add() -> push(): Add items to the end of an array
animals.add("Elephant");
System.out.println(animals); // [Lion, Tiger, Cat, Dog, Elephant]
// remove() -> pop(): Remove an item from the end of an array
animals.remove(animals.size() - 1);
System.out.println(animals); // [Lion, Tiger, Cat, Dog]
// add(0,"xyz") -> unshift(): Add items to the beginning of an array
animals.add(0, "Penguin");
System.out.println(animals); // [Penguin, Lion, Tiger, Cat, Dog]
// remove(0) -> shift(): Remove an item from the beginning of an array
animals.remove(0);
System.out.println(animals); // [Lion, Tiger, Cat, Dog]
}
}
ইনসকোর-জাভা লাইব্রেরিতে পদ্ধতিগুলি পুশ (মান), পপ (), শিফট () এবং আনশিফ্ট (মান) থাকে।
কোড উদাহরণ:
import com.github.underscore.U:
List<String> strings = Arrays.asList("one", "two", " three");
List<String> newStrings = U.push(strings, "four", "five");
// ["one", " two", "three", " four", "five"]
String newPopString = U.pop(strings).fst();
// " three"
String newShiftString = U.shift(strings).fst();
// "one"
List<String> newUnshiftStrings = U.unshift(strings, "four", "five");
// ["four", " five", "one", " two", "three"]