Erik_Mironov
@Erik_Mironov
Старые вопросы: *Dies from cringe*

Как использовать мои ArrayList в другом Java классе?

Я новичок в Java, пытаюсь создал несколько ArrayList, как мне вызвать значения массивов в другом классе?
import java.util.*;
import java.util.ArrayList;

@SuppressWarnings("unused")


public class Objects {
    public class Pair {
        private int key;
        private String value;

        public Pair(int key, String value) {
            this.key = key;
            this.value = value;

        }

       public class itemsNames {
            @SuppressWarnings("MismatchedQueryAndUpdateOfCollection")
            public  ArrayList<String> laptopNames() {
                List<String> dell = new ArrayList<>();
                List<String> hp = new ArrayList<>();
                List<String> apple = new ArrayList<>();
                dell.add(0, "DELL Inspiron");
                dell.add(1, "DELL Latitude");
                hp.add(0, "HP Pavilion");
                hp.add(1, "HP_Omen");
                apple.add(0, "McBook Air 11");
                apple.add(1, "McBook Air 13");
                return null;
            }

            @SuppressWarnings("MismatchedQueryAndUpdateOfCollection")
            public void smartPhonesNames(String[] args) {

                List<String> nokia = new ArrayList<>();
                List<String> xiaomi = new ArrayList<>();
                List<String> apple = new ArrayList<>();
                nokia.add(0, "Nokia 3310");
                nokia.add(0, "Nokia 5.1");
                xiaomi.add(0, "Xiaomi redmi note 3 pro");
                xiaomi.add(1, "Xiaomi Mi 9T Pro");
                apple.add(0, "Iphone 8S");
                apple.add(0, "Iphone 11 Pro");


            }
        }
    }
}
  • Вопрос задан
  • 1382 просмотра
Решения вопроса 1
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
Вам стоит почитать про поля класса и их геттеры/сеттеры, конструкторы класса, инициализацию полей класса, их видимость. ( Например здесь - developer.alexanderklimov.ru/android/java/class.php или https://metanit.com/java/tutorial/3.1.php )
Например можно переделать ваш класс так (это очень на скорую руку, так чтобы было понятней).

package com.antek.memgen.gui;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class Objects {

	public static class ItemsNames {

		private Map<String, List<String>> laptops = new HashMap<>();
		private Map<String, List<String>> phones = new HashMap<>();

		public ItemsNames() {
			List<String> dell = new ArrayList<>();
			List<String> hp = new ArrayList<>();
			List<String> apple_comps = new ArrayList<>();

			List<String> nokia = new ArrayList<>();
			List<String> xiaomi = new ArrayList<>();
			List<String> apple_phones = new ArrayList<>();

			// initialize computers
			dell.add(0, "DELL Inspiron");
			dell.add(1, "DELL Latitude");
			hp.add(0, "HP Pavilion");
			hp.add(1, "HP_Omen");
			apple_comps.add(0, "McBook Air 11");
			apple_comps.add(1, "McBook Air 13");

			// initialize phones

			nokia.add(0, "Nokia 3310");
			nokia.add(0, "Nokia 5.1");
			xiaomi.add(0, "Xiaomi redmi note 3 pro");
			xiaomi.add(1, "Xiaomi Mi 9T Pro");
			apple_phones.add(0, "Iphone 8S");
			apple_phones.add(0, "Iphone 11 Pro");

			laptops.put("dell", dell);
			laptops.put("hp", hp);
			laptops.put("apple", apple_comps);

			phones.put("nokia", nokia);
			phones.put("xiaomi", xiaomi);
			phones.put("apple", apple_phones);
		}

		public List<String> laptopNames(String brand) {
			return laptops.get(brand);
		}

		public List<String> smartPhonesNames(String brand) {
			return phones.get(brand);
		}

	}

	public static void main(String[] args) {

		// Simple tests

		ItemsNames items = new ItemsNames();

		items.laptopNames("apple").forEach(System.out::println);

		items.smartPhonesNames("apple").forEach(System.out::println);

	}

}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы