Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Android

एंड्रॉइड में LinkedHashSet से डेटा कैसे हटाएं?

LinkedHashSet से डेटा हटाकर ListView में दिखाना

यह उदाहरण दर्शाता है कि LinkedHashSet (जो इंसर्शन ऑर्डर बनाए रखता है) से डेटा कैसे हटाएं और ListView में अपडेट करें।

चरण 1: नया प्रोजेक्ट बनाएं

Android Studio में नया प्रोजेक्ट बनाएं।

चरण 2: activity_main.xml लेआउट

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

    <EditText
        android:id="@+id/name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="नाम दर्ज करें" />

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <Button
            android:id="@+id/save"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="सेव करें" />

        <Button
            android:id="@+id/refresh"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="रिफ्रेश" />

        <Button
            android:id="@+id/delete"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="हटाएं" />

    </LinearLayout>

    <ListView
        android:id="@+id/listView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

</LinearLayout>

चरण 3: MainActivity.java

package com.example.myapplication;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;

import java.util.ArrayList;
import java.util.LinkedHashSet;
import java.util.Set;

public class MainActivity extends AppCompatActivity {

    private EditText nameEditText;
    private ListView listView;
    private ArrayAdapter<String> arrayAdapter;
    private ArrayList<String> arrayList;
    private Set<String> linkedHashSet = new LinkedHashSet<>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        nameEditText = findViewById(R.id.name);
        listView = findViewById(R.id.listView);
        arrayList = new ArrayList<>();

        // रिफ्रेश बटन
        findViewById(R.id.refresh).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (arrayAdapter != null) {
                    arrayAdapter.notifyDataSetChanged();
                }
            }
        });

        // हटाएं बटन
        findViewById(R.id.delete).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String name = nameEditText.getText().toString().trim();
                if (!name.isEmpty()) {
                    boolean removed = linkedHashSet.remove(name);
                    updateListView();
                    Toast.makeText(MainActivity.this, 
                        removed ? "हटा दिया गया" : "नहीं मिला", 
                        Toast.LENGTH_SHORT).show();
                } else {
                    nameEditText.setError("नाम दर्ज करें");
                }
            }
        });

        // सेव बटन
        findViewById(R.id.save).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String name = nameEditText.getText().toString().trim();
                if (!name.isEmpty()) {
                    linkedHashSet.add(name);
                    updateListView();
                    Toast.makeText(MainActivity.this, "जोड़ दिया गया", Toast.LENGTH_SHORT).show();
                } else {
                    nameEditText.setError("नाम दर्ज करें");
                }
            }
        });
    }

    private void updateListView() {
        arrayList.clear();
        arrayList.addAll(linkedHashSet); // LinkedHashSet ऑर्डर बनाए रखता है
        
        if (arrayAdapter == null) {
            arrayAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, arrayList);
            listView.setAdapter(arrayAdapter);
        } else {
            arrayAdapter.notifyDataSetChanged();
        }
    }
}

LinkedHashSet की विशेषताएं

  • कोई डुप्लीकेट नहीं - Set होने के कारण
  • इंसर्शन ऑर्डर बनाए रखता है - HashSet के विपरीत
  • add(), remove(), contains() - O(1) ऑपरेशन
  • इटरेशन क्रम इंसर्शन क्रम के समान होता है

ऐप चलाएं

कुछ नाम जोड़ें, फिर नाम डालकर हटाएं बटन दबाएं - ऑर्डर बना रहेगा।

एंड्रॉइड में LinkedHashSet से डेटा कैसे हटाएं?

एंड्रॉइड में LinkedHashSet से डेटा कैसे हटाएं?

  1. एंड्रॉइड से आईफोन में कॉन्टैक्ट्स ट्रांसफर कैसे करें एंड्रॉइड से आईफोन में कॉन्टैक्ट्स ट्रांसफर कैसे करें

    नया फोन लेने की सोच रहे हैं, लेकिन स्विच करने की परेशानी से डर रहे हैं? आईफोन लेना चाहते हैं, लेकिन आपके सभी कॉन्टैक्ट्स और डेटा सैमसंग या अन्य एंड्रॉइड फोन पर हैं? एंड्रॉइड से आईफोन पर स्विच करना सीधा और सरल होना चाहिए। यहां जानें कि एंड्रॉइड से आईफोन में अपने कॉन्टैक्ट्स कैसे ट्रांसफर करें। आईओएस

  1. एंड्रॉइड पर फोटो से EXIF मेटाडेटा कैसे हटाएं एंड्रॉइड पर फोटो से EXIF मेटाडेटा कैसे हटाएं

    जब भी आप डिजिटल कैमरे या स्मार्टफोन से फोटो लेते हैं, तो प्रत्येक छवि में कुछ अतिरिक्त मेटाडेटा एम्बेड हो जाता है, जिसे EXIF (एक्सचेंजेबल इमेज फाइल फॉर्मेट) डेटा कहा जाता है। EXIF डेटा में कई तरह की जानकारी शामिल हो सकती है जैसे फोटो लेने की तारीख और समय, GPS डेटा, कैमरा या स्मार्टफोन मॉडल, फ्लैश क

  1. अपने एंड्रॉइड फोन से वायरस सुरक्षित रूप से हटाने के लिए चरण-दर-चरण गाइड अपने एंड्रॉइड फोन से वायरस सुरक्षित रूप से हटाने के लिए चरण-दर-चरण गाइड

    जैसे-जैसे एंड्रॉइड उपयोगकर्ताओं की संख्या वर्षों में बढ़ी है, विंडोज पर कभी विशेष रूप से उपलब्ध सुविधाओं ने अब स्मार्टफोन्स के छोटे ब्रह्मांड में अपनी जगह बना ली है। जबकि इसने हमें इंटरनेट और ऑनलाइन एप्लिकेशन्स तक त्वरित पहुंच जैसी क्रांतिकारी सुविधाएं दी हैं, इसने वायरस और मैलवेयर के लिए रास्ता खोल