Как вывести arraylist
Перейти к содержимому

Как вывести arraylist

  • автор:

Добавление строк в ArrayList и вывод на экран размера и элементов списка

P.S. Задача с JavaRush.
P.P.S. Я импортнул ArrayList .

Отслеживать
19.1k 6 6 золотых знаков 30 30 серебряных знаков 44 44 бронзовых знака
задан 21 июл 2017 в 7:30
To.by Te.array To.by Te.array
5 1 1 золотой знак 1 1 серебряный знак 4 4 бронзовых знака

4 ответа 4

Сортировка: Сброс на вариант по умолчанию

чтобы установить значение в какой либо позиции, там должны быть элементы. поэтому set() у вас упадет. Вам нужно добавить эти элементы, потом установить значение

 ArrayList list = new ArrayList(7); list.add(""); list.add(""); list.add(""); list.add(""); list.add(""); list.add(""); list.add(""); list.set(1, "списек"); list.set(2, "инвентарских"); list.set(3, "предметов"); list.set(4, "в"); list.set(5, "поездяльнике"); int a = list.size(); System.out.println(a); for (int b = 1; b!=6;)

P.s. на самом деле вам нужно упроситть код до этого:

 ArrayList list = new ArrayList(); list.add("списек"); list.add("инвентарских"); list.add("предметов"); list.add("в"); list.add("поездяльнике"); System.out.println(list.size()); for (int i = 0; i < list.size(); i++) < System.out.println(list.get(i)); >// либо for (String s : list)

Вывод элементов из 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 секунд

ЦитатаСообщение от Ванеек Посмотреть сообщение

Операции 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 !!"); > >

Как вывести повторяющийся элемент списка лишь 1 раз?

Начал изучать Java. Сейчас пишу небольшой проект. Появилась проблема. Суть такова:
нужно вывести элемент ArrayList лишь 1 раз.
ArrayList содержит в себе числа:
Так вот нужно вывести элемент 1 лишь 1 раз, затем 3 лишь 1 раз и так далее.
Вариант с удалением лишних, повторяющихся знаков не подходит, потому что этот ArrayList "связан" с другим, и там храняться нужние мне строки.
Попытался посчитать количество повторяющихся элементов Collection.frequency, в принципе результат есть, но я не знаю как сделать вывод лишь 1 раз. Пытался циклом do..while., но не вывод текста из другого ArrayList происходит .

arrayExercise.add(index, new ExerciseArray(name, touch, count, day));
Writer writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file, false), "cp1251"));
List tempList = new ArrayList<>();
int freq = 0;
for(int i=0; i tempList.add(arrayExercise.get(i).getDay());
freq = Collections.frequency(tempList, arrayExercise.get(i).getDay());
// System.out.println(s);
do writer.write("Элемент: " + arrayExercise.get(i).getDay() + System.getProperty("line.separator"));
writer.write("Текст1: "+arrayExercise.get(i).getName()+", Текст2: "+arrayExercise.get(i).getTouch()+" x "+arrayExercise.get(i).getCount()+System.getProperty("line.separator"));
> while (freq <0);
if(freq>1) writer.write("Текст1: "+arrayExercise.get(i).getName()+", Текст1: "+arrayExercise.get(i).getTouch()+" x "+arrayExercise.get(i).getCount()+System.getProperty("line.separator"));
continue;
>
>

5ee1f69c7128d814661295.png

arrayExercise - лист с обьектами, в котором храниться информация об элементах

  • Вопрос задан более трёх лет назад
  • 287 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *