एंड्रॉइड में LinkedHashSet का उपयोग करना
यह उदाहरण दर्शाता है कि LinkedHashSet (इंसर्शन ऑर्डर बनाए रखने वाला Set) का उपयोग करके डेटा कैसे स्टोर करें और 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="रिफ्रेश" />
</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.save).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String name = nameEditText.getText().toString().trim();
if (!name.isEmpty()) {
boolean added = linkedHashSet.add(name);
updateListView();
Toast.makeText(MainActivity.this,
added ? "नया जोड़ा गया" : "पहले से मौजूद (डुप्लीकेट)",
Toast.LENGTH_SHORT).show();
} else {
nameEditText.setError("नाम दर्ज करें");
}
}
});
}
private void updateListView() {
arrayList.clear();
arrayList.addAll(linkedHashSet); // इंसर्शन ऑर्डर में जुड़ेगा
if (arrayAdapter == null) {
arrayAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, arrayList);
listView.setAdapter(arrayAdapter);
} else {
arrayAdapter.notifyDataSetChanged();
}
}
}
LinkedHashSet कब उपयोग करें
| स्थिति | उपयुक्त Set |
|---|---|
| यूनिक आइटम्स, इंसर्शन ऑर्डर महत्वपूर्ण | LinkedHashSet |
| यूनिक आइटम्स, ऑर्डर महत्वपूर्ण नहीं | HashSet |
| यूनिक आइटम्स, सॉर्टेड ऑर्डर चाहिए | TreeSet |
| की-वैल्यू पेयर, की के आधार पर सॉर्टेड | TreeMap |
LinkedHashSet के मुख्य मेथड्स
add(E e)- जोड़ता है, डुप्लीकेट पर false लौटाता हैremove(Object o)- हटाता है, मिलने पर true लौटाता हैcontains(Object o)- मौजूदगी जांचता हैsize()- आइटम्स की संख्याclear()- सभी हटाता हैiterator()- इंसर्शन ऑर्डर में इटरेटर
ऐप चलाएं
नाम जोड़ें - वे इंसर्शन ऑर्डर में ListView में दिखेंगे। डुप्लीकेट नाम जोड़ने पर "पहले से मौजूद" मैसेज दिखेगा।
