Computer >> 컴퓨터 >  >> 프로그래밍 >> Android

안드로이드 LinkedBlockingDeque에서 peek() 메서드 사용하는 방법

본격적인 예제에 들어가기 앞서, LinkedBlockingDeque가 무엇인지 간단히 살펴보겠습니다. LinkedBlockingDeque는 Collection 인터페이스와 AbstractQueue 클래스를 기반으로 구현된 클래스로, 연결 리스트 노드를 사용하는 선택적 경계(bounded) 덱입니다. 생성자에 용량(capacity) 크기를 지정할 수 있어 안드로이드 앱에서 불필요한 메모리 낭비를 줄이는 데 유용합니다.

peek() 메서드는 데크의 첫 번째 요소(헤드)를 제거하지 않고 조회만 하는 메서드입니다. 데크가 비어 있으면 null을 반환하며, 요소를 꺼내지 않고 값만 확인하고 싶을 때 사용합니다.

이 예제는 안드로이드 LinkedBlockingDeque에서 peek()을 사용하는 방법을 보여줍니다.

구현 단계

1단계 − Android Studio에서 새 프로젝트 생성

File ⇒ New Project로 이동하여 새 프로젝트를 만들고, 필요한 모든 세부 정보를 입력합니다.

2단계 − 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>

위 코드에서는 LinkedBlockingDeque의 요소를 화면에 표시하기 위해 TextView를 하나 추가했습니다.

3단계 − 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 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("" + linkedBlockingDeque);
        actionEvent.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                actionEvent.setText(""+linkedBlockingDeque.peek());
            }
        });
    }
}

애플리케이션을 실행해 보겠습니다. 실제 안드로이드 모바일 기기가 컴퓨터에 연결되어 있다고 가정합니다. Android Studio에서 앱을 실행하려면 프로젝트의 액티비티 파일 중 하나를 연 뒤 툴바에서 실행(Run) 아이콘을 클릭하고, 목록에서 자신의 모바일 기기를 선택하세요. 그러면 기기에 아래와 같은 기본 화면이 표시됩니다.

안드로이드 LinkedBlockingDeque에서 peek() 메서드 사용하는 방법

이제 화면의 TextView를 클릭하면 peek() 호출 결과인 데크의 첫 번째 요소 "sai"가 아래와 같이 표시됩니다.

안드로이드 LinkedBlockingDeque에서 peek() 메서드 사용하는 방법