IT/Android

안드로이드 자바에서 ArrayList 활용 예제

Koogler 2025. 2. 22. 16:50

안드로이드 자바에서 ArrayList 활용 예제

안녕하세요! 오늘은 안드로이드 프로그래밍에서 자주 사용되는 ArrayList의 활용 방법에 대해 설명하겠습니다.

ArrayList는 자바에서 제공하는 동적 배열로, 편리하게 요소를 추가하거나 삭제할 수 있는 장점을 가지고 있습니다.

 

ArrayList란 무엇인가?

ArrayList는 자바의 컬렉션 프레임워크에서 제공하는 클래스 중 하나로, 크기가 가변적인 배열을 제공합니다.

이로 인해 사용자들은 정적 배열보다 더 유연하게 데이터 구조를 관리할 수 있습니다.

예를 들어, 사용자가 입력하는 데이터의 수가 사전에 예측할 수 없을 때 ArrayList를 사용하면 유용합니다.

 

ArrayList 사용 예제

이번에는 간단한 안드로이드 앱을 만들고 ArrayList를 활용하여 사용자 목록을 관리하는 예제를 보여드리겠습니다.

 

1. 프로젝트 생성

안드로이드 스튜디오를 열고 새로운 프로젝트를 생성합니다. 언어는 Java를 선택하고, 프로젝트의 레이아웃은 Empty Activity를 선택합니다.

 

2. activity_main.xml 레이아웃 수정

사용자가 이름을 입력할 EditText와 리스트를 표시할 RecyclerView 및 버튼을 추가합니다.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="16dp">

    <EditText
        android:id="@+id/user_input"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="이름을 입력하세요" />

    <Button
        android:id="@+id/add_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="추가" />

    <RecyclerView
        android:id="@+id/user_list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

</LinearLayout>

 

3. MainActivity.java 코드 작성

이제 ArrayList를 이용해 사용자가 입력한 이름을 저장하고 RecyclerView에 보여주는 코드를 작성해보겠습니다.


import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {

    private EditText userInput;
    private Button addButton;
    private RecyclerView userList;
    private UserAdapter userAdapter;
    private ArrayList users;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        userInput = findViewById(R.id.user_input);
        addButton = findViewById(R.id.add_button);
        userList = findViewById(R.id.user_list);

        users = new ArrayList<>();
        userAdapter = new UserAdapter(users);
        userList.setLayoutManager(new LinearLayoutManager(this));
        userList.setAdapter(userAdapter);

        addButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String name = userInput.getText().toString();
                if (!name.isEmpty()) {
                    users.add(name);
                    userAdapter.notifyDataSetChanged();
                    userInput.setText("");
                }
            }
        });
    }
}

 

4. UserAdapter.java 작성

사용자 이름을 표시하기 위한 어댑터 클래스를 작성합니다.

import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import java.util.ArrayList;

public class UserAdapter extends RecyclerView.Adapter<UserAdapter.UserViewHolder> {
    private ArrayList<String> users;

    public UserAdapter(ArrayList<String> users) {
        this.users = users;
    }

    @NonNull
    @Override
    public UserViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(parent.getContext()).inflate(android.R.layout.simple_list_item_1, parent, false);
        return new UserViewHolder(view);
    }

    @Override
    public void onBindViewHolder(@NonNull UserViewHolder holder, int position) {
        String userName = users.get(position);
        holder.textView.setText(userName);
    }

    @Override
    public int getItemCount() {
        return users.size();
    }

    static class UserViewHolder extends RecyclerView.ViewHolder {
        TextView textView;

        public UserViewHolder(@NonNull View itemView) {
            super(itemView);
            textView = itemView.findViewById(android.R.id.text1);
        }
    }
}

 

결론

이번 포스팅에서는 안드로이드에서 ArrayList를 활용하여 간단한 사용자 목록을 구현하는 예제를 살펴보았습니다. ArrayList를 사용하면 데이터의 추가, 삭제, 검색을 쉽게 구현할 수 있으며, 이는 다양한 애플리케이션에서 유용하게 사용될 수 있습니다. 앞으로 다양한 기능을 구현해보며 자신만의 앱을 만들어보세요!

 

감사합니다!

 

반응형