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

Cách sử dụng peekLast() trong LinkedBlockingDeque trên Android

Giới thiệu về LinkedBlockingDeque

LinkedBlockingDeque là một triển khai của interface Collection và lớp AbstractQueue. Nó cung cấp các giới hạn tùy chọn dựa trên các nút liên kết, cho phép truyền kích thước bộ nhớ vào constructor để giúp tránh lãng phí bộ nhớ trong Android.

Phương thức peekLast() trả về phần tử cuối cùng của deque mà không xóa nó. Nếu deque rỗng, phương thức trả về null.

Ví dụ minh họa

Bước 1: Tạo project mới

Mở Android Studio, chọn File → New Project và điền các thông tin cần thiết để tạo project mới.

Bước 2: Cấu hình layout (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:gravity="center"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:orientation="vertical">
    <TextView
        android:id="@+id/actionEvent"
        android:textSize="40sp"
        android:layout_marginTop="30dp"
        android:layout_width="wrap_content"
        android:layout_height="match_parent" />
</LinearLayout>

Ở đây chúng ta sử dụng một TextView để hiển thị các phần tử của LinkedBlockingDeque.

Bước 3: Code logic (src/MainActivity.java)

package com.example.myapplication;

import android.os.Build;
import android.os.Bundle;
import android.support.annotation.RequiresApi;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.TextView;
import java.util.concurrent.LinkedBlockingDeque;

public class MainActivity extends AppCompatActivity {
    LinkedBlockingDeque<String> linkedBlockingDeque;

    @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        linkedBlockingDeque = new LinkedBlockingDeque<>();
        final TextView actionEvent = findViewById(R.id.actionEvent);

        // Thêm các phần tử vào deque
        linkedBlockingDeque.add("sai");
        linkedBlockingDeque.add("ram");
        linkedBlockingDeque.add("krishna");
        linkedBlockingDeque.add("prasad");
        linkedBlockingDeque.add("ram");

        // Hiển thị toàn bộ deque
        actionEvent.setText("" + linkedBlockingDeque);

        // Xử lý sự kiện click để hiển thị phần tử cuối
        actionEvent.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                actionEvent.setText("" + linkedBlockingDeque.peekLast());
            }
        });
    }
}

Chạy ứng dụng

Kết nối thiết bị Android thật với máy tính. Trong Android Studio, mở file activity và nhấn biểu tượng Run trên thanh công cụ. Chọn thiết bị di động của bạn làm tùy chọn triển khai.

Màn hình ban đầu sẽ hiển thị toàn bộ nội dung deque: [sai, ram, krishna, prasad, ram]

Khi click vào TextView, ứng dụng sẽ hiển thị phần tử cuối cùng thông qua peekLast(): ram

Lưu ý quan trọng

  • peekLast() không làm thay đổi cấu trúc deque
  • Trả về null nếu deque rỗng (khác với getLast() ném ngoại lệ)
  • Phù hợp cho việc kiểm tra phần tử cuối mà không cần xóa