Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Android

Cách xóa phần tử trùng lặp từ LinkedList đã sắp xếp trong Android

Giới thiệu

Ví dụ này minh họa cách loại bỏ các phần tử trùng lặp từ một LinkedList đã được sắp xếp trong Android, sử dụng LinkedHashSet để giữ nguyên thứ tự.

Bước 1: Tạo dự án mới

Mở Android Studio, chọn File → New Project và điền đầy đủ thông tin cần thiết.

Bước 2: Thiết kế giao diện (res/layout/activity_main.xml)

<?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: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"
        android:padding="16dp" />

</LinearLayout>

Bước 3: MainActivity.java

package com.example.myapplication;

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

public class MainActivity extends AppCompatActivity {

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

        // Tạo LinkedList đã sắp xếp với các phần tử trùng lặp
        LinkedList list = new LinkedList<>();
        list.add(11);
        list.add(11);
        list.add(11);
        list.add(14);
        list.add(14);
        list.add(20);

        // LinkedHashSet: Loại bỏ trùng lặp + Giữ thứ tự thêm vào
        LinkedHashSet uniqueSet = new LinkedHashSet<>(list);

        TextView textView = findViewById(R.id.text);
        textView.setText("Danh sách gốc: " + list + "\n\nSau khi xóa trùng: " + uniqueSet);
    }
}

Chạy ứng dụng

Kết nối thiết bị Android thật với máy tính. Trong Android Studio, nhấn Run và chọn thiết bị để chạy.

Kết quả

Hiển thị:

Danh sách gốc: [11, 11, 11, 14, 14, 20]

Sau khi xóa trùng: [11, 14, 20]

Giải thích

  • LinkedList: Danh sách liên kết cho phép trùng lặp, duy trì thứ tự thêm
  • LinkedHashSet: Kết hợp HashSet (không trùng lặp) + LinkedList (giữ thứ tự)
  • Constructor LinkedHashSet(Collection): Tự động loại bỏ trùng lặp khi chuyển đổi

Lưu ý: Yêu cầu API 24+ (Android 7.0) cho một số tính năng Stream. Code này chạy tốt trên mọi phiên bản. Nếu danh sách CHƯA sắp xếp, LinkedHashSet vẫn giữ thứ tự xuất hiện đầu tiên của mỗi phần tử.