Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Android

Android में LinkedBlockingDeque में getFirst() कैसे उपयोग करें?

LinkedBlockingDeque में getFirst() - हेड एलिमेंट देखना

LinkedBlockingDeque एक वैकल्पिक रूप से बाउंडेड, ब्लॉकिंग डीक है। getFirst() हेड एलिमेंट रिटर्न करता है बिना हटाए।

चरण 1: प्रोजेक्ट बनाएं

Android Studio: File → New Project।

चरण 2: लेआउट (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"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/actionEvent"
        android:textSize="40sp"
        android:layout_marginTop="30dp"
        android:layout_width="wrap_content"
        android:layout_height="match_parent" />

</LinearLayout>

चरण 3: MainActivity.java - getFirst() डेमो

package com.example.myapplication;

import android.os.Build;
import android.os.Bundle;
import androidx.annotation.RequiresApi;
import androidx.appcompat.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);

        linkedBlockingDeque.add("साई");
        linkedBlockingDeque.add("राम");
        linkedBlockingDeque.add("कृष्ण");
        linkedBlockingDeque.add("प्रसाद");
        linkedBlockingDeque.add("राम");

        actionEvent.setText("" + linkedBlockingDeque);

        actionEvent.setOnClickListener(v -> {
            try {
                String first = linkedBlockingDeque.getFirst();
                actionEvent.setText("पहला: " + first);
            } catch (Exception e) {
                actionEvent.setText("डीक खाली है");
            }
        });
    }
}

LinkedBlockingDeque हेड एक्सेस मेथड्स:

मेथडव्यवहारखाली परब्लॉकिंग?
getFirst()हेड देखेंExceptionनहीं
peekFirst()हेड देखेंnullनहीं
takeFirst()हेड हटाकर रिटर्नब्लॉकहां
pollFirst()हेड हटाकर रिटर्नnullनहीं
pollFirst(timeout)हेड हटाकर रिटर्नnull/एलिमेंटटाइमआउट तक

बाउंडेड बनाम अनबाउंडेड:

// अनबाउंडेड - मेमोरी तक बढ़ सकता है
LinkedBlockingDeque<String> unbounded = new LinkedBlockingDeque<>();

// बाउंडेड - क्षमता सीमा
LinkedBlockingDeque<String> bounded = new LinkedBlockingDeque<>(100);
// add/offer फुल होने पर false/Exception
// put ब्लॉक करता है

आउटपुट

प्रारंभ: [साई, राम, कृष्ण, प्रसाद, राम]

क्लिक के बाद: पहला: साई

Android में LinkedBlockingDeque में getFirst() कैसे उपयोग करें?

Android में LinkedBlockingDeque में getFirst() कैसे उपयोग करें?

उपयोग केस: प्रोड्यूसर-कंज्यूमर में कंज्यूमर takeFirst() से ब्लॉकिंग पॉप करता है।

  1. Android में LinkedBlockingDeque में size() का उपयोग कैसे करें? Android में LinkedBlockingDeque में size() का उपयोग कैसे करें?

    LinkedBlockingDeque क्या है? LinkedBlockingDeque, Collection इंटरफेस और AbstractQueue क्लास द्वारा कार्यान्वित एक वैकल्पिक बाउंडेड डीक्यू है जो लिंक्ड नोड्स पर आधारित है। यह कंस्ट्रक्टर को मेमोरी साइज पास करता है और Android में मेमोरी वेस्टेज को रोकने में मदद करता है। उद्देश्य यह उदाहरण दर्शाता है

  1. Android में LinkedBlockingDeque में removeLastOccurrence() का उपयोग कैसे करें? Android में LinkedBlockingDeque में removeLastOccurrence() का उपयोग कैसे करें?

    LinkedBlockingDeque क्या है? LinkedBlockingDeque Collection इंटरफेस और AbstractQueue क्लास द्वारा कार्यान्वित है। यह लिंक्ड नोड्स पर आधारित वैकल्पिक सीमाएं प्रदान करता है। यह कंस्ट्रक्टर को मेमोरी साइज पास करता है और Android में मेमोरी वेस्टेज को रोकने में मदद करता है। उदाहरण: removeLastOccurrence(

  1. एंड्रॉइड में LinkedBlockingDeque में contains() का उपयोग कैसे करें? एंड्रॉइड में LinkedBlockingDeque में contains() का उपयोग कैसे करें?

    उदाहरण में जाने से पहले, हमें पता होना चाहिए कि LinkedBlockingDeque क्या है। यह Collection इंटरफेस और AbstractQueue क्लास द्वारा इम्प्लीमेंटेड है। यह लिंक्ड नोड्स पर आधारित वैकल्पिक सीमाएं प्रदान करता है। यह कंस्ट्रक्टर को मेमोरी साइज पास करता है और एंड्रॉइड में मेमोरी वेस्टेज को रोकने में मदद करता