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

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

offerFirst() - Thêm vào đầu Deque

offerFirst(E e) chèn phần tử vào đầu (head) của LinkedBlockingDeque. Trả về true nếu thành công, false nếu deque bounded đã đầy. An toàn hơn addFirst() (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<>();
        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.offerFirst("tutorialspoint");
            actionEvent.setText("offerFirst: " + ok + " | Deque: " + linkedBlockingDeque);
        });
    }
}

Kết quả

Phần tử "tutorialspoint" xuất hiện ở đầu deque: [tutorialspoint, sai, ram, krishna, prasad, ram].