Как вывести все элементы arraylist с определенными именим?

Подскажите пожалуйста как мне выбрать все добавленые в список елементы с именим name и вывести их, а не только последнего пользователя
Отслеживать
MonKeyLAb_vlad
задан 4 апр 2022 в 16:59
MonKeyLAb_vlad MonKeyLAb_vlad
7 3 3 бронзовых знака
В System.out.println(Client.name); что есть Client.name ? Переменной Client я не нашёл, а значит это класс (т.к. он присутствует). Поле name не статично и к нему нельзя обратиться из класса. Как у вас этот код вообще работает.
4 апр 2022 в 17:36
@ArchDemon, Я забыл отредактировать name статическая
4 апр 2022 в 17:39
Тогда рекомендую вам ознакомиться с отличием статическими атрибутами класса и не статическими
4 апр 2022 в 18:06
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Вывести несложно, только у вас проблема с именованием переменных, все поля по какой-то публичные и класс Firma в таком виде вообще не нужен (его реализация нарушает все принципы и паттерны, включая SOLID, GRASP).
import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Main < public static void main(String[] args) < String searchName = ""; Scanner scanner = new Scanner(System.in); int keyClient = 0; ListclientList = new ArrayList<>(); do < System.out.println("Введите имя клиента, номер телефона, номер паспорта и скидку разделяйте их двумя пробелами"); String[] client = scanner.nextLine().split(" "); clientList.add(new Client(++keyClient, client[0], client[1], client[2], Integer.parseInt(client[3].trim()))); System.out.println("Введите Y или y для продолжения"); >while ("Y".equalsIgnoreCase(scanner.nextLine().trim().toUpperCase())); for (Client client : clientList) < if (searchName.equals(client.getName())) < System.out.println(client); >> > > class Client < private final int keyClient; private final String name; private final String phone; private final String passportId; private final int skidka; public Client(int keyClient, String name, String phone, String passportId, int skidka) < this.keyClient = keyClient; this.name = name; this.phone = phone; this.passportId = passportId; this.skidka = skidka; >public int getKeyClient() < return keyClient; >public String getName() < return name; >public String getPhone() < return phone; >public String getPassportId() < return passportId; >public int getSkidka() < return skidka; >@Override public String toString() < return "User'; > >
Операции Java ArrayList
ArrayList — одна из самых гибких структур данных из коллекций Java. Arraylist — это класс, который реализует интерфейс List. Он является одним из широко используемых из-за функциональности и гибкости, которые он предлагает. Он предназначен для хранения неоднородных коллекций объектов. Емкость ArrayList — это количество элементов, которые может содержать ArrayList. Поскольку элементы добавляются в ArrayList, емкость динамически увеличивается по мере необходимости путем перераспределения. Он также может содержать повторяющиеся элементы. Элементы в этой коллекции можно получить с помощью целочисленного индекса. Индексы в этой коллекции основаны на нуле. Он позволяет осуществлять произвольный доступ, поскольку массив работает на основе индекса. Кроме того, он поддерживает порядок вставки.
Как добавить элементы в ArrayList?
import Java.util.*; class TestClass < public static void main (String[] args) throws Java.lang.Exception < // создаем список массивов Object ArrayList aList = new ArrayList(); aList.add("Sunday"); // добавление элемента aList.add("Monday"); aList.add("Tuesday"); >>
Как напечатать элемент arraylist?
// создаем список массивов Object ArrayList aList = new ArrayList(); aList.add(«Sunday»); aList.add(«Monday»); aList.add(«Tuesday»); Iterator ir=aList.iterator(); while(ir.hasNext())
Вывод:
Sunday Monday Tuesday
Как найти длину / размер ArrayList в Java?
Используя метод size() класса ArrayList, мы можем легко определить размер ArrayList. Этот метод возвращает количество элементов в объекте ArrayList.
// создаем список массивов Object ArrayList aList = new ArrayList(); aList.add("Sunday"); aList.add("Monday"); aList.add("Tuesday"); System.out.println(aList.size());
Вывод:
Как получить конкретный элемент ArrayList?
// создаем список массивов Object ArrayList aList = new ArrayList(); aList.add("Sunday"); aList.add("Monday"); aList.add("Tuesday"); System.out.println(aList.get(1));
Вывод:
Monday
Доступ к элементам в ArrayList можно получить с помощью целочисленного индекса, а индексы ArrayList начинаются с нуля. Таким образом, aList.get (1) возвращает второй элемент из ArrayList.
Как получить первый элемент Arraylist?
// создаем список массивов Object ArrayList aList = new ArrayList(); aList.add("Sunday"); aList.add("Monday"); aList.add("Tuesday"); System.out.println(aList.get(0));
Вывод:
Sunday
Поскольку индексы ArrayList начинаются с нуля, aList.get (0) возвращает первый элемент ArrayList.
Как получить последний элемент Arraylist?
// создаем список массивов Object ArrayList aList = new ArrayList(); aList.add("Sunday"); aList.add("Monday"); aList.add("Tuesday"); System.out.println(aList.get(aList.size()-1));
AList.size() возвращает итоговые элементы в ArrayList. Поскольку индексы ArrayList начинаются с нуля, aList.size() — 1 возвращает последний элемент ArrayList.
Как удалить все элементы из Java ArrayList?
Вы можете использовать два разных метода для удаления arraylist в Java. Это ArrayList.clear() и ArrayList.removeAll()
//ArrayList.clear(): // создаем список массивов Object ArrayList aList = new ArrayList(); aList.add("Sunday"); aList.add("Monday"); aList.add("Tuesday"); System.out.println(aList.size()); aList.clear(); System.out.println(aList.size());
Вывод:
Пример ArrayList.removeAll():
// создаем список массивов Object ArrayList aList = new ArrayList(); aList.add("Sunday"); aList.add("Monday"); aList.add("Tuesday"); System.out.println(aList.size()); aList.removeAll(aList); System.out.println(aList.size());
Вывод:
В случае removeAll вы должны передать тот же ArrayList, что и аргумент.
В случае removeAll вы должны передать тот же ArrayList, что и аргумент.
Методы clear() и removeAll (коллекция) служат в двух разных целях. Метод clear() будет проходить через лежащий в основе массив и установить каждую запись в null, а removeAll (collection) будет проходить проверку ArrayList для сбора и удаления (Object), если она существует. Таким образом, это подтверждает, что clear() выполняется намного быстрее, поскольку ему не нужно иметь дело со всеми этими вызовами дополнительных методов. Как удалить определенный элемент из ArrayList? В общем случае объект может быть удален двумя способами из ArrayList (или вообще любого Списка), по индексу (remove (int)) и по объекту (remove (Object)).
Удалить объект (удалить (объект)):
// создаем список массивов Object ArrayList aList = new ArrayList(); aList.add("Sunday"); aList.add("Monday"); aList.add("Tuesday"); aList.remove("Monday");
Здесь мы передаем аргумент как строковый объект «Понедельник», поэтому он будет удален из коллекции.
Удалить по индексу:
// создаем список массивов Object ArrayList aList = new ArrayList(); aList.add("Sunday"); aList.add("Monday"); aList.add("Tuesday"); aList.remove(1);
Здесь мы передаем аргумент как index remove (1) «Monday», поэтому он будет удален из коллекции.
Как отсортировать ArrayList в Java?
В ArrayList элементы помещаются по мере их вставки. Но при кодировании вы часто нуждаетесь в них в некотором порядке. для сортировки ArrayList используется метод sort() класса Collections.
// создаем список массивов Object ArrayList aList = new ArrayList(); aList.add(«Sunday»); aList.add(«Monday»); aList.add(«Tuesday»); System.out.println(«Before sort. «); Iterator ir=aList.iterator(); while(ir.hasNext()) < System.out.println(ir.next()); >Collections.sort(aList); System.out.println(«After sort. «); ir=aList.iterator(); while(ir.hasNext())
Вывод:
Before sort. Sunday Monday Tuesday After sort. Monday Sunday Tuesday
Сортировка ArrayList в обратном порядке?
// создаем список массивов Object ArrayList aList = new ArrayList(); aList.add(«Sunday»); aList.add(«Monday»); aList.add(«Tuesday»); Collections.sort(aList,Collections.reverseOrder()); Iterator ir=aList.iterator(); while(ir.hasNext())
Вывод:
Tuesday Sunday Monday
Поиск элемента в Java ArrayList
Вы можете проверить, существует ли значение в Java ArrayList, используя следующие методы: ArrayList.contains(), ArrayList.indexOf() и ArrayList.lastIndexOf()
// создаем список массивов Object ArrayList aList = new ArrayList(); aList.add(«Sunday»); aList.add(«Monday»); aList.add(«Tuesday»); // Использование метода contains if (aList.contains(«Monday»)) < System.out.println("Account found"); >else < System.out.println("Account not found"); >// использование метода indexOf int val = aList.indexOf(«Monday»); if (val !=-1) < System.out.println("Item found"); >else < System.out.println("Item not found"); >// использование метода lastIndexOf int val = aList.lastIndexOf(«Monday»); if (val !=-1) < System.out.println("Item found"); >else
Преобразование массива в массив
Класс ArrayList имеет метод, называемый toArray(), который мы можем использовать для преобразования ArrayList в массивы.
// создаем список массивов Object ArrayList aList = new ArrayList(); aList.add("Sunday"); aList.add("Monday"); aList.add("Tuesday"); String[] arr = (String[])aList.toArray(new String[aList.size()]); for(String item : arr) System.out.println(item);
Вывод:
Sunday Monday Tuesday
Преобразование массива в ArrayList
// создаем массив Object String days[]=; ArrayList < String>arrList= new ArrayList < String>(Arrays.asList(days)); for(String item : arrList) System.out.println(item);
Вывод:
Sunday Monday Tuesday
Преобразование ArrayList в строку
Метод String join() поможет вам преобразовать ArrayList в String. Метод Java string join() возвращает строку, связанную с данным разделителем. В методе объединения строк для каждого элемента копируется разделитель.
// создаем список массивов Object ArrayList aList = new ArrayList(); aList.add("Sunday"); aList.add("Monday"); aList.add("Tuesday"); String result = String.join(",", aList); System.out.println(result);
Вывод:
Sunday,Monday,Tuesday
Преобразование ArrayList в список
// создаем список массивов Object ArrayList aList = new ArrayList(); aList.add("Sunday"); aList.add("Monday"); aList.add("Tuesday"); List list = aList; Iterator ir=list.iterator(); while(ir.hasNext())< System.out.println(ir.next());
Вывод:
Sunday Monday Tuesday
Следующая программа Java иллюстрирует большинство вышеупомянутых методов в одной программе
import Java.util.*; class TestClass < public static void main (String[] args) throws Java.lang.Exception < // создаем новый объект ArrayList ArrayList aList = new ArrayList(); aList.add("Sunday"); aList.add("Monday"); aList.add("Wednesday"); // использование Iterator для просмотра всех элементов в ArrayList Iterator < String>itr = aList.iterator(); while(itr.hasNext()) < System.out.println(itr.next()); >// добавление элемента по указанному индексу aList.add(2,"Tuesday"); System.out.println(aList); // Извлечение элементов ArrayList по индексу System.out.println(aList.get(2)); // Поиск элемента в ArrayList if(aList.contains("Monday")) System.out.println("Item Found"); else System.out.println("Item not Found"); // Удаление одного элемента из ArrayList по индексу aList.remove(1); System.out.println(aList); // Удаление всех элементов из ArrayList aList.clear(); // Проверка вектора - это ArrayList или нет. if(aList.isEmpty()) System.out.println("ArrayList Empty !!"); else System.out.println("ArrayList Contains: " + aList.size() + " elements !!"); > >
Вывод элементов из ArrayList
Привет,подскажите ,пожалуйста,как вывести из обычного аррайлиста элементы например с первого по пятый?А то вот есть list.get,но он,как я понял может получить только один элемент.Вообще можно ли в аррайлисте так вывести,если нет,то подскажите,пожалуйста,какой-нибудь массив-коллекцию,где можно,только ,чтобы она быстро работала)
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Вывод елементов ArrayList в консоль
Помогите плз, при выводе елементов ArrayList в консоль у выводится лишние строки? import.
Не работает вывод в цикле в ArrayList
Добрый день! Помогите,пожалуйста, разобраться почему не происходит перемещение между элементами.

Вывод элементов из ArrayList
ArrayList myarr = new ArrayList(); myarr.Add(new Mars("Иванов Иван Иванович.",43)); //.
вывод из ArrayList
Есть класс, в котором содержатся данные о человеке(имя, профессия, рост, зарплата). Нужно было.
653 / 402 / 35
Регистрация: 19.02.2013
Сообщений: 1,072
Записей в блоге: 2
если аррей лист - это будет быстро:
1 2 3
for (int i = 0; i 5; i++) { System.out.println(list.get(i)); }
Регистрация: 21.12.2012
Сообщений: 458
Точно через цикл))
Вот новый алгоритм вывода страниц:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.InputMismatchException; import java.util.Scanner; public class jsp { /** * @param args */ public static void main(String[] args) { ArrayListString> sizel = new ArrayListString>(); sizel = pagef(); double sizelist = sizel.size(); double page = sizelist / 30; double pagel = Math.ceil(page);// всего страниц System.out.println("Какую страницу вам показать?: "); Scanner sc = new Scanner(System.in); int pageint = 0;// номер страницы try { pageint = sc.nextInt(); double endch = pageint * 30;// конечное число показа double startch = endch - 30;// начальное число показа if (endch > pagel * 30) { System.out.println("страниц не найдено"); } else { System.out.println("======================"); for (int i = (int) startch; i endch; i++) { System.out.println(sizel.get(i)); } System.out.println("======================"); } } catch (InputMismatchException e) { System.out.println("фиг вам .не число это"); } catch (IndexOutOfBoundsException e) { System.out.println("нет больше"); } } static ArrayListString> pagef() { ArrayListString> page = new ArrayListString>(); BufferedReader br = null; String s = null; File file = new File("C:\\prov"); String list[] = file.list(); try { for (int i = 0; i list.length; i++) { File fileread = new File("C:\\prov\\" + list[i]); br = new BufferedReader(new InputStreamReader( new FileInputStream(fileread), "UTF-8")); while ((s = br.readLine()) != null) { page.add(s + "\n"); } br.close(); } } catch (Exception e) { e.printStackTrace(); } return page; } }
Добавлено через 47 секунд
Выводит без скобочек
Добавлено через 17 секунд
)))
Добавлено через 31 минуту
Только возник вопрос,а как выводить через каждые три строчки какой-нибудь элемент,например:
=========
3 line
=========
=========
3line
=========
Т.е ,чтобы каждые три строчки были обрамлены,например такими равно
653 / 402 / 35
Регистрация: 19.02.2013
Сообщений: 1,072
Записей в блоге: 2
э..
ну по идее шото типа
1 2 3
if (i % 3) { // print }
Регистрация: 21.12.2012
Сообщений: 458
А в коде как будет моем?это в for вставить?где вывод
653 / 402 / 35
Регистрация: 19.02.2013
Сообщений: 1,072
Записей в блоге: 2
Сообщение от Ванеек 
А в коде как будет моем?это в for вставить?где вывод
ну по идее да. я же не знаю что оно сейчас печатает и что вы хотите увидеть. если тупо при печати через каждые три строки разделитель см. ниже. я зафтыкал в предыдущем посте. и только индекс наверное нужно сделать дополнительный, я так понимаю у вас не с нуля итерация идет
if (i % 3 == 0){}
это типа "если остаток от деления i на 3 = 0"
Регистрация: 21.12.2012
Сообщений: 458
Вот,что показывает:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
Какую страницу вам показать?: 1 ====================== =============== ПЕрвая строчка первого файла =============== =============== 1 строчка 2 файла =============== =============== ihguityyutyhuyghjyugkugyyyjgyufhdt =============== =============== khgyjryfhyfghgygu7gug =============== =============== khgyjryfhyfghgygu7gug =============== =============== khgyjryfhyfghgygu7gug =============== =============== khgyjryfhyfghgygu7gug =============== =============== khgyjryfhyfghgygu7gug =============== =============== khgyjryfhyfghgygu7gug =============== =============== khgyjryfhyfghgygu7gug =============== ======================
Сообщение от AckiyBolt 
и только индекс наверное нужно сделать дополнительный
А вот с этим можете помочь,да идет не с нуля
653 / 402 / 35
Регистрация: 19.02.2013
Сообщений: 1,072
Записей в блоге: 2
1 2 3 4 5 6 7
int spacerIndex = 0; for ( int i = ( int ) startch; i endch; i++ ) { System.out.println( sizel.get( i ) ); if (spacerIndex++ % 3 == 0) { System.out.println("==============="); } }
тестил так
1 2 3 4 5 6 7
int spacerIndex = 0; for ( int i = ( int ) 0; i 20; i++ ) { System.out.println( i ); if (++spacerIndex % 3 == 0) { System.out.println("==============="); } }
0 1 2 =============== 3 4 5 =============== 6 7 8 =============== 9 10 11 =============== 12 13 14 =============== 15 16 17 =============== 18 19
Регистрация: 21.12.2012
Сообщений: 458
653 / 402 / 35
Регистрация: 19.02.2013
Сообщений: 1,072
Записей в блоге: 2
1 2 3 4 5 6 7
if (spacerIndex++ % 3 == 0) System.out.println("==============="); System.out.println( i ); if (spacerIndex % 3 == 0) System.out.println("===============");
Регистрация: 21.12.2012
Сообщений: 458
Спасибо,просто и со вкусом))
Добавлено через 7 минут
Блин,AckiyBolt ,две последних просьбы:можете пожалуйста помочь,чтобы содержимое файлов выводилось как оно есть,т.е три строчки одного файла выводились так,а то сейчас вот(плюс выводится не тридцать строк,видите разброс :
ПЕрвая строчка первого файла 1 строчка 2 файла
Вот как его исправить?Весь вывод:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
Какую страницу вам показать?: 1 ====================== =============== ПЕрвая строчка первого файла 1 строчка 2 файла ihguityyutyhuyghjyugkugyyyjgyufhdt =============== =============== khgyjryfhyfghgygu7gug khgyjryfhyfghgygu7gug khgyjryfhyfghgygu7gug =============== =============== khgyjryfhyfghgygu7gug khgyjryfhyfghgygu7gug khgyjryfhyfghgygu7gug =============== =============== khgyjryfhyfghgygu7gug ======================
И вывести все 30 строк?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.InputMismatchException; import java.util.Scanner; public class jsp { /** * @param args */ public static void main(String[] args) { ArrayListString> sizel = new ArrayListString>(); sizel = pagef(); double sizelist = sizel.size(); double page = sizelist / 30; double pagel = Math.ceil(page);// всего страниц System.out.println("Какую страницу вам показать?: "); Scanner sc = new Scanner(System.in); int pageint = 0;// номер страницы try { pageint = sc.nextInt(); double endch = pageint * 30;// конечное число показа double startch = endch - 30;// начальное число показа if (endch > pagel * 30) { System.out.println("страниц не найдено"); } else { System.out.println("======================"); int spacerIndex = 0; for (int i = (int) startch; i endch; i++) { // System.out.println(sizel.get(i)); if (i % 3 == 0) { if (spacerIndex++ % 3 == 0) System.out.println("==============="); System.out.println(sizel.get(i)); if (spacerIndex % 3 == 0) System.out.println("==============="); } } System.out.println("======================"); } } catch (InputMismatchException e) { System.out.println("фиг вам .не число это"); } catch (IndexOutOfBoundsException e) { System.out.println("нет больше"); } } static ArrayListString> pagef() { ArrayListString> page = new ArrayListString>(); BufferedReader br = null; String s = null; File file = new File("C:\\prov"); String list[] = file.list(); try { for (int i = 0; i list.length; i++) { File fileread = new File("C:\\prov\\" + list[i]); br = new BufferedReader(new InputStreamReader( new FileInputStream(fileread), "UTF-8")); while ((s = br.readLine()) != null) { page.add(s); } br.close(); } } catch (Exception e) { e.printStackTrace(); } return page; } }
Добавлено через 56 секунд
Сообщение от Ванеек 
Получение последнего элемента ArrayList в Java
Разработчики, работающие с Java, часто сталкиваются с задачей получения последнего элемента из ArrayList. ArrayList — это динамический массив, который может хранить элементы различных типов данных.
Допустим, имеется ArrayList целых чисел:
ArrayList<Integer> numbers = new ArrayList<Integer>(); numbers.add(1); numbers.add(2); numbers.add(3); numbers.add(4); numbers.add(5);
В этом массиве последним элементом является число 5. Как его получить?
Один из самых простых и часто используемых способов получения последнего элемента ArrayList — это использование метода get() , который возвращает элемент ArrayList по указанному индексу.
Однако, важно помнить, что индексы в ArrayList начинаются с нуля. Это означает, что если размер ArrayList равен 5 (как в приведенном выше примере), то последний элемент будет находиться на позиции с индексом 4.
Следовательно, чтобы получить последний элемент ArrayList, нужно вызвать метод get() , передав ему в параметре индекс последнего элемента. Индекс последнего элемента можно получить, уменьшив на единицу значение, возвращаемое методом size() , который возвращает количество элементов в ArrayList.
В итоге код получения последнего элемента может выглядеть следующим образом:
int lastElement = numbers.get(numbers.size() - 1);
В переменной lastElement будет храниться значение последнего элемента ArrayList, то есть число 5.
Итак, получение последнего элемента из ArrayList в Java — это простая задача, которую можно решить с помощью методов get() и size() . Надеюсь, эта информация поможет вам в дальнейшей работе с ArrayList в Java.