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

Android-এ সর্টেড লিংকড লিস্ট থেকে ডুপ্লিকেট সরানোর পদ্ধতি

Android-এ সর্টেড LinkedList-এ서 ডুপ্লিকেট এলিমেন্ট সরিয়ে ফেলা

এই টিউটোরিয়ালে আমরা দেখব কিভাবে Java Collections Framework-এ LinkedHashSet ব্যবহার করে একটি সর্টেড (Sorted) LinkedList- থেকে ডুপ্লিকেট মানগুলো সরিয়ে অনIQUE মানের লিস্ট তৈরি করা যায়, причম অর্ডার রক্ষা করে।

প্রয়োজনীয় ধাপসমূহ

ধাপ ১: নতুন প্রজেক্ট তৈরি করুন

Android Studio → File → New Project → প্রয়োজনীয় ডিটেইলস পূরণ করুন।

ধাপ ২: লেআউট ফাইল (activity_main.xml)

সिर्फ একটি TextView ব্যবহার করে ফলাফল দেখানো হবে:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:app="https://schemas.android.com/apk/res-auto"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/text"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:textSize="30sp"
        android:gravity="center" />

</LinearLayout>

ধাপ ৩: MainActivity.java

package com.example.myapplication;

import android.os.Build;
import android.os.Bundle;
import android.widget.TextView;
import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;
import java.util.LinkedHashSet;
import java.util.LinkedList;

public class MainActivity extends AppCompatActivity {

    @RequiresApi(api = Build.VERSION_CODES.P)
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // সর্টেড লিংকড লিস্ট (ডুপ্লিকেটসহ)
        LinkedList<Integer> list = new LinkedList<>();
        list.add(11);
        list.add(11);
        list.add(11);
        list.add(14);
        list.add(14);
        list.add(20);

        // LinkedHashSet ব্যবহার করে ডুপ্লিকেট সরিয়ে অর্ডার রক্ষা
        LinkedHashSet<Integer> hashSet = new LinkedHashSet<>(list);

        TextView textView = findViewById(R.id.text);
        textView.setText("ডুপ্লিকেট বাদ: " + hashSet.toString());
    }
}

কোড ব্যাখ্যা

  • LinkedList — ইনসারশন অর্ডার রক্ষা করে, ডুপ্লিকেট অ্যালাউ করে।
  • LinkedHashSet — সেট হওয়ার কারণে ডুপ্লিকেট অ্যালাউ করে না, কিন্তু ইনসারশন অর্ডার রক্ষা করে।
  • কনস্ট্রাক্টর new LinkedHashSet<>(list) দিয়ে সরাসরি লিস্ট থেকে সেট তৈরি করা যায়।

ফলাফল

আউটপুট: [11, 14, 20] (ডুপ্লিকেট ১১ এবং ১৪ সরিয়ে ফেলা হয়েছে, অর্ডার রক্ষা করা হয়েছে)।

Android-এ সর্টেড লিংকড লিস্ট থেকে ডুপ্লিকেট সরানোর পদ্ধতি

বিকল্প পদ্ধতি (Java 8+ Stream API)

list.stream().distinct().collect(Collectors.toCollection(LinkedHashSet::new));

এটিও একই ফলাফল দেবে কিন্তু আরও ফাংশনাল স্টাইলে।

সারসংক্ষেপ

সর্টেড লিংকড লিস্ট থেকে ডুপ্লিকেট সরিয়ে অর্ডার রক্ষা করার সবচেয়ে সহজ ও দক্ষ উপায় হলো LinkedHashSet কনস্ট্রাক্টর ব্যবহার করা। এটি O(n) টাইম কমপ্লেক্সিটিতে কাজ করে।

  1. অ্যান্ড্রয়েডে URL থেকে ইমেজ ডাউনলোড করার পদ্ধতি

  2. অ্যান্ড্রয়েড থেকে ম্যালওয়্যার সরানোর উপায়

  3. এক্সেল ড্রপ-ডাউন লিস্ট থেকে ডুপ্লিকেট এন্ট্রি মুছে ফেলুন—৪টি এক্সপার্ট টেকনিক

  4. দ্রুত গাইড: আপনার অ্যান্ড্রয়েড ফোন থেকে ডুপ্লিকেট ফটো ডিলিট করুন