Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.09.2018, 16:23   #1
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию ArrayList

Здравствуйте!
Вот этот код не мой. Просто он подходит для примера чтобы задать вопрос.
Код:
import java.util.ArrayList;
import java.util.Scanner; 
 
public class Scan {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in); // создаём объект класса Scanner
        String line;
        String str;
        
        ArrayList<String> list = new ArrayList<String>();
        
        // Введем 10 значений
        for (int i = 0; i < 10; i++){
            
            // Запрашиваем и проверяем значение
            System.out.print("Введите значение: ");
            
            line = sc.nextLine(); // Работаем с введенной строкой       
            
            if(line.equals("Первое")){
                System.out.println("Расчет один");
                line = line + " Бобик";
                System.out.println("Добавляем в лист еще одного Бобика");
                list.add(line);
            }
            else if(line.equals("Второе")){
                System.out.println("Расчет два");
                line = line + " Тузик";
                System.out.println("Добавляем в лист еще одного Тузика");
                list.add(line);
            }
            else {
                System.out.println("Ничего не добавляем");
            }
        }
        
        
        for (int k = 0; k < list.size(); k++) {
            str = list.get(k);
            if(str.equals("Первое Бобик")){
                System.out.println("Расчет над элементом массива I");
            }
            if(str.equals("Второе Тузик")){
                System.out.println("Расчет над элементом массива II");
            }
        }   
       
    }
}
Там есть строка
Код:
list.add(line);
Т.е. в ячейку помещается string. Я хочу управлять вставлением в ячейку. Т.е. в зависимости от условий и обстоятельств я хочу вставлять значение строки либо в ту либо в иную ячейку.
Тупо не знаю как выглядит синтаксис с ArrayList для такого хода.
Код:
list(n).add(line);
Не пойдёт, пытался. (где n переменная.)
Как надо? В книге нет такого в сети тоже не нашел.
KAMLS вне форума Ответить с цитированием
Старый 07.09.2018, 16:25   #2
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию

Нашел блин опять когда уже спросил)))
list.add(n,line);
KAMLS вне форума Ответить с цитированием
Старый 07.09.2018, 16:47   #3
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию

А есть такое чтобы сразу удалять определённое количество ячеек ArrayList пусть даже и с потерей данных?
А то я пока знаю только удаление по одной ячейке remove(i).
KAMLS вне форума Ответить с цитированием
Старый 07.09.2018, 16:52   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Код:
subList(,).clear()
p51x вне форума Ответить с цитированием
Старый 07.09.2018, 17:03   #5
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию

А если мне надо просто укоротить массив на n. Без премудрости типа от и до.
subList(n).clear()
так пойдет?
KAMLS вне форума Ответить с цитированием
Старый 07.09.2018, 17:11   #6
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Конечно, нет. У сабЛист два параметра. Либо возвращайте саблист, как новый, либо удаляйте не нужные элементы.
p51x вне форума Ответить с цитированием
Старый 07.09.2018, 17:16   #7
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию

Сделал так.
Код:
 mass.subList(0,(n+1)).clear();
Удаление в цикле многократное поэтому надо завязывать на переменную которая тоже меняется.
Но теперь встала другая задача, как скопировать один лист в другой, чтобы у того куда копируют не менялся размер, т.е. происходила запись поверху с потерей данных.
Есть такая возможность?
Я пока не нашел но ищу. Если подскажете для ускорения дела, то спасибо. Хотя и так уже спасибо))
KAMLS вне форума Ответить с цитированием
Старый 07.09.2018, 17:21   #8
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Не понятно, что вы хотите сделать. Вот есть первый лист 1 2 3 и второй 4 5 6 7 8. Что будет при

Цитата:
Сообщение от KAMLS Посмотреть сообщение
скопировать один лист в другой, чтобы у того куда копируют не менялся размер, т.е. происходила запись поверху с потерей данных
p51x вне форума Ответить с цитированием
Старый 07.09.2018, 17:25   #9
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию

нет ну понятно я хочу копировать из равного в равный. Для чего и искал как в большем удалять некоторое количество ячеек.
Это я гоняю попарное уменьшение из первоначального списка.
Начал делать в массивах, а они в джаве костяные, не меняются как в С# через смену значения переменной которой обозначался размер массива.
Пока сделал с листами так:
Код:
for(int i=0; i<n; i++)
            {
            mass.add(i,mass1.get(i));
            }
Но было бы здорово менять баш на баш.
Первый массив 1,2,3 второй 4,5,6
Бах и первый стал 4,5,6
KAMLS вне форума Ответить с цитированием
Старый 07.09.2018, 17:28   #10
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

mass = new ArrayList<>(mass1); или mass = mass1.clone();
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ArrayList ISV-777 Общие вопросы по Java, Java SE, Kotlin 2 06.12.2011 20:05
c# arraylist world12_tk Помощь студентам 2 09.08.2011 10:19
ArrayList musomoh Общие вопросы .NET 9 11.05.2010 02:03
ArrayList jona Общие вопросы по Java, Java SE, Kotlin 7 30.04.2010 13:45
arraylist WOWka777 Общие вопросы .NET 4 11.04.2010 19:05