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) ऑपरेशन- इटरेशन क्रम इंसर्शन क्रम के समान होता है
ऐप चलाएं
कुछ नाम जोड़ें, फिर नाम डालकर हटाएं बटन दबाएं - ऑर्डर बना रहेगा।

