ArrayList ListView में अनयूज्ड स्पेस हटाना
यह उदाहरण दर्शाता है कि Android में ArrayList ListView से अनयूज्ड स्पेस कैसे हटाया जाता है। trimToSize() मेथड ArrayList की क्षमता को उसके वर्तमान आकार तक कम कर देता है।
चरण 1: नया प्रोजेक्ट बनाएं
Android Studio में File → New Project पर जाएं और प्रोजेक्ट बनाएं।
चरण 2: लेआउट फ़ाइल (res/layout/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"
tools:context=".MainActivity"
android:orientation="vertical">
<EditText
android:id="@+id/name"
android:layout_width="match_parent"
android:hint="नाम दर्ज करें"
android:layout_height="wrap_content" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button android:id="@+id/save" android:text="सेव करें"
android:layout_width="wrap_content" android:layout_height="wrap_content" />
<Button android:id="@+id/refresh" android:text="रिफ्रेश"
android:layout_width="wrap_content" android:layout_height="wrap_content" />
</LinearLayout>
<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</ListView>
</LinearLayout>
चरण 3: MainActivity.java
package com.example.myapp;
import android.os.Bundle;
import androidx.appcompat.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.Collections;
import java.util.HashSet;
import java.util.Set;
public class MainActivity extends AppCompatActivity {
EditText name;
ArrayAdapter<String> arrayAdapter;
ArrayList<String> arrayList;
Set<String> set = new HashSet<>();
private ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
arrayList = new ArrayList<>();
arrayList.ensureCapacity(20); // न्यूनतम क्षमता सेट करें
name = findViewById(R.id.name);
listView = findViewById(R.id.listView);
findViewById(R.id.refresh).setOnClickListener(v -> {
if (arrayAdapter != null) {
arrayAdapter.notifyDataSetChanged();
listView.invalidateViews();
}
});
findViewById(R.id.save).setOnClickListener(v -> {
String input = name.getText().toString().trim();
if (!input.isEmpty()) {
set.add(input); // डुप्लीकेट रोकने के लिए Set का उपयोग
arrayList.clear();
arrayList.addAll(set);
// वर्णानुक्रम में सॉर्ट करें
Collections.sort(arrayList);
// अनयूज्ड स्पेस हटाएं - क्षमता को आकार के बराबर करें
arrayList.trimToSize();
arrayAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, arrayList);
listView.setAdapter(arrayAdapter);
Toast.makeText(this, "इन्सर्ट किया गया", Toast.LENGTH_LONG).show();
} else {
name.setError("नाम दर्ज करें");
}
});
}
}
ऐप चलाएं
डिवाइस कनेक्ट करें और ऐप चलाएं।

परिणाम में, हम मान इन्सर्ट कर रहे हैं और ListView उसे सॉर्ट करके दिखा रहा है। trimToSize() मेमोरी ऑप्टिमाइजेशन के लिए उपयोगी है जब आप जानते हैं कि ArrayList में अब और एलिमेंट्स नहीं जुड़ेंगे।