Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.73/44: Рейтинг темы: голосов - 44, средняя оценка - 4.73
Ванеек
68 / 68 / 1
Регистрация: 21.12.2012
Сообщений: 458
1

Вывод элементов из ArrayList

15.04.2013, 16:08. Просмотров 8117. Ответов 12
Метки нет (Все метки)

Привет,подскажите ,пожалуйста,как вывести из обычного аррайлиста элементы например с первого по пятый?А то вот есть list.get,но он,как я понял может получить только один элемент.Вообще можно ли в аррайлисте так вывести,если нет,то подскажите,пожалуйста,какой-нибудь массив-коллекцию,где можно,только ,чтобы она быстро работала)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2013, 16:08
Ответы с готовыми решениями:

Не работает вывод в цикле в ArrayList
Добрый день! Помогите,пожалуйста, разобраться почему не происходит перемещение...

Вывод елементов ArrayList в консоль
Помогите плз, при выводе елементов ArrayList в консоль у выводится лишние...

Для чего написано: ArrayList<person> people = new ArrayList<>();
package com.company; import java.util.ArrayList; import java.util.Iterator;...

Передача ArrayList в качестве параметра методу, и в дальнейшем получение свойств объектов которые хранятся в ArrayList
Всем привет. Задача следующая: a. Есть классы Fruit -&gt; Apple, Orange;(больше...

Обращение к элементам arraylist, который в другом arraylist
Здравствуйте. У меня есть arraylist типа arraylist. А уже каждый внутренний...

12
AckiyBolt
649 / 398 / 35
Регистрация: 19.02.2013
Сообщений: 1,072
Записей в блоге: 2
15.04.2013, 17:20 2
если аррей лист - это будет быстро:
Java
1
2
3
for (int i = 0; i < 5; i++) {
   System.out.println(list.get(i));
}
1
Ванеек
68 / 68 / 1
Регистрация: 21.12.2012
Сообщений: 458
15.04.2013, 18:04  [ТС] 3
Точно через цикл))
Вот новый алгоритм вывода страниц:
Java
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) {
        ArrayList<String> sizel = new ArrayList<String>();
        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 ArrayList<String> pagef() {
        ArrayList<String> page = new ArrayList<String>();
        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
=========
Т.е ,чтобы каждые три строчки были обрамлены,например такими равно
0
AckiyBolt
649 / 398 / 35
Регистрация: 19.02.2013
Сообщений: 1,072
Записей в блоге: 2
15.04.2013, 18:06 4
э..
ну по идее шото типа

Java
1
2
3
if (i % 3) {
   // print
}
1
Ванеек
68 / 68 / 1
Регистрация: 21.12.2012
Сообщений: 458
15.04.2013, 18:08  [ТС] 5
А в коде как будет моем?это в for вставить?где вывод
0
AckiyBolt
649 / 398 / 35
Регистрация: 19.02.2013
Сообщений: 1,072
Записей в блоге: 2
15.04.2013, 18:13 6
Цитата Сообщение от Ванеек Посмотреть сообщение
А в коде как будет моем?это в for вставить?где вывод
ну по идее да. я же не знаю что оно сейчас печатает и что вы хотите увидеть. если тупо при печати через каждые три строки разделитель см. ниже. я зафтыкал в предыдущем посте. и только индекс наверное нужно сделать дополнительный, я так понимаю у вас не с нуля итерация идет

Java
1
if (i % 3 == 0){}
это типа "если остаток от деления i на 3 = 0"
1
Ванеек
68 / 68 / 1
Регистрация: 21.12.2012
Сообщений: 458
15.04.2013, 18:42  [ТС] 7
Вот,что показывает:
Java
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 Посмотреть сообщение
и только индекс наверное нужно сделать дополнительный
А вот с этим можете помочь,да идет не с нуля
0
AckiyBolt
649 / 398 / 35
Регистрация: 19.02.2013
Сообщений: 1,072
Записей в блоге: 2
15.04.2013, 19:10 8
Java
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("===============");
            }
        }
тестил так

Java
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
0
Ванеек
68 / 68 / 1
Регистрация: 21.12.2012
Сообщений: 458
15.04.2013, 20:04  [ТС] 9
Спасибо))а с двух сторон можно,пожалуйста)
Пример:
=========
1
2
3
==========
=========
1
2
3
===========
===========
.....
0
AckiyBolt
649 / 398 / 35
Регистрация: 19.02.2013
Сообщений: 1,072
Записей в блоге: 2
15.04.2013, 20:11 10
Java
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("===============");
1
Ванеек
68 / 68 / 1
Регистрация: 21.12.2012
Сообщений: 458
15.04.2013, 20:25  [ТС] 11
Спасибо,просто и со вкусом))

Добавлено через 7 минут
Блин,AckiyBolt ,две последних просьбы:можете пожалуйста помочь,чтобы содержимое файлов выводилось как оно есть,т.е три строчки одного файла выводились так,а то сейчас вот(плюс выводится не тридцать строк,видите разброс :
Java
1
2
ПЕрвая строчка первого файла
1 строчка 2 файла
Вот как его исправить?Весь вывод:
Java
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 строк?
Java
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) {
        ArrayList<String> sizel = new ArrayList<String>();
        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 ArrayList<String> pagef() {
        ArrayList<String> page = new ArrayList<String>();
        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 секунд
Цитата Сообщение от Ванеек Посмотреть сообщение
видите разброс
По моему это можно какой-то коллекцией решить
0
AckiyBolt
649 / 398 / 35
Регистрация: 19.02.2013
Сообщений: 1,072
Записей в блоге: 2
15.04.2013, 20:40 12
так вы 35 и 43 строчку убейте
1
Ванеек
68 / 68 / 1
Регистрация: 21.12.2012
Сообщений: 458
15.04.2013, 21:03  [ТС] 13
Блин,чертова невнимательность)СпасибО))))большое
Java
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
Какую страницу вам показать?: 
1
======================
===============
ПЕрвая строчка первого файла
Вторая строчка первого файла
Третья строчка первого файла
===============
===============
1 строчка 2 файла
2 строчка 2 файла
3 строчка 2 файла
===============
===============
ihguityyutyhuyghjyugkugyyyjgyufhdt
uigfgkugvgh
iugytfgjhhjh
===============
===============
khgyjryfhyfghgygu7gug
;jhyugjghjhujhj
ojhujkguig
===============
===============
khgyjryfhyfghgygu7gug
;jhyugjghjhujhj
ojhujkguig
===============
===============
khgyjryfhyfghgygu7gug
;jhyugjghjhujhj
ojhujkguig
===============
===============
khgyjryfhyfghgygu7gug
;jhyugjghjhujhj
ojhujkguig
===============
===============
khgyjryfhyfghgygu7gug
;jhyugjghjhujhj
ojhujkguig
===============
===============
khgyjryfhyfghgygu7gug
;jhyugjghjhujhj
ojhujkguig
===============
===============
khgyjryfhyfghgygu7gug
;jhyugjghjhujhj
ojhujkguig
===============
======================
0
15.04.2013, 21:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.04.2013, 21:03

В чем разница между new ArrayList<String>() и new ArrayList<>()?
подскажите,знатоки,в чем разность между ArrayList &lt;String&gt; stringList = new...

Удаление элементов списка ArrayList
Пытаюсь удалить из списка из 20 элементов все значения, что делятся на 2 и,...

Произвольная вставка элементов в ArrayList
Всем привет. По заданию нужно сгенерировать 1_000_000 последовательных целых...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru