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

Cách dùng offerLast() trong LinkedBlockingDeque Android

offerLast() - Thêm vào cuối Deque

offerLast(E e) chèn phần tử vào cuối (tail) của LinkedBlockingDeque. Trả về true nếu thành công, false nếu deque đã đầy (bounded). Không ném exception. Tương đương offer(E e) và addLast() (nhưng addLast ném exception khi đầy).

MainActivity.java

package com.example.myapplication;

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

public class MainActivity extends AppCompatActivity {

    private 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<>(); // Unbounded
        final TextView actionEvent = findViewById(R.id.actionEvent);

        linkedBlockingDeque.add("sai");
        linkedBlockingDeque.add("ram");
        linkedBlockingDeque.add("krishna");
        linkedBlockingDeque.add("prasad");
        linkedBlockingDeque.add("ram");

        actionEvent.setText("Deque: " + linkedBlockingDeque);

        actionEvent.setOnClickListener(v -> {
            boolean ok = linkedBlockingDeque.offerLast("tutorialspoint");
            actionEvent.setText("offerLast: " + ok + " | Deque: " + linkedBlockingDeque);
        });
    }
}

Khi nào dùng offerLast?

  • Cần thêm vào cuối nhưng không muốn crash khi deque bounded đầy.
  • Xử lý kết quả boolean để retry hoặc log.