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

안드로이드에서 LinkedBlockingDeque 사용하는 방법 완벽 가이드

예제를 살펴보기 전에 먼저 LinkedBlockingDeque가 무엇인지 간단히 알아보겠습니다. LinkedBlockingDeque는 Collection 인터페이스와 AbstractQueue 클래스를 기반으로 구현된 클래스로, 연결 노드(Linked Node) 방식으로 동작하며 선택적으로 용량 제한을 설정할 수 있습니다. 생성자에 메모리 크기를 지정해 전달할 수 있기 때문에 안드로이드 앱에서 불필요한 메모리 낭비를 줄이는 데 효과적입니다.

LinkedBlockingDeque란?

LinkedBlockingDeque는 java.util.concurrent 패키지에 포함된 스레드 안전(Thread-safe) 양방향 큐입니다. 큐의 앞쪽과 뒤쪽 양쪽 모두에서 요소를 삽입하거나 삭제할 수 있으며, 용량을 지정하지 않으면 Integer.MAX_VALUE까지 확장됩니다.

이번 예제는 안드로이드에서 LinkedBlockingDeque를 사용하는 방법을 단계별로 보여줍니다.

1단계 — 새 프로젝트 생성

Android Studio에서 File ⇒ New Project를 선택하고, 새 프로젝트 생성에 필요한 모든 정보를 입력하여 프로젝트를 만듭니다.

2단계 — activity_main.xml 작성

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단계 — MainActivity.java 작성

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.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);
    }
}

위 코드에서는 LinkedBlockingDeque 인스턴스를 생성한 후 add() 메서드를 사용해 여러 문자열 요소를 순서대로 추가하고, 그 결과를 TextView에 출력합니다. LinkedBlockingDeque는 중복 요소도 허용한다는 점에 유의하세요.

앱 실행 및 결과 확인

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

안드로이드에서 LinkedBlockingDeque 사용하는 방법 완벽 가이드