Java. Класс ArrayList. Методы, определяющие информацию об элементах массива

Класс ArrayList. Методы, определяющие информацию об элементах массива


Содержание


Поиск на других ресурсах:

1. Метод get(). Получить элемент в заданной позиции

С помощью метода get() можно получить элемент в заданной позиции. Объявление метода следующее:

public E get(int index);

здесь

  • E – тип элементов массива;
  • index – позиция элемента в массиве начиная с 0.

Пример.

import java.util.*;

public class TrainCollections {

  public static void main(String[] args) {
    // Метод get() - получить элемент из массива
    // 1. Создать коллекцию из чисел
    ArrayList<Integer> AL = new ArrayList();
    AL.add(1);
    AL.add(2);
    AL.add(3);
    AL.add(4);
    AL.add(5);

    // 2. Получить элемент в индексе 2 - метод get()
    int item = AL.get(2);

    // 3. Вывести элемент
    System.out.println("item = " + item); // item = 3
  }
}

Результат выполнения программы

item = 3

 

2. Метод contains().Определить, содержит ли список определенный элемент

Метод contains() возвращает true, если в списке содержится хотя бы один указанный элемент. Согласно документации Java общая форма метода следующая

public boolean contains(Object obj);

здесь

  • obj – элемент, наличие которого в коллекции необходимо определить.

Пример. В примере определяется наличие строки «abcd» в массиве строк.

import java.util.*;

public class TrainCollections {

  public static void main(String[] args) {
    // Метод contains() - определить наличие элемента в массиве

    // 1. Создать коллекцию из строк
    ArrayList<String> AL = new ArrayList();
    AL.add("abcd");
    AL.add("abc");
    AL.add("jklmn");
    AL.add("jprst");

    // 2. Вызвать метод contains()
    boolean f_is = AL.contains("abcd");

    // 3. Вывести результат
    System.out.println("f_is = " + f_is);
  }
}

Результат выполнения программы

f_is = true

 

3. Метод containsAll().Определить, есть ли все элементы некоторой коллекции в заданной коллекции

С помощью метода containsAll() можно определить, встречаются ли все элементы одной коллекции в другой коллекции хотя бы один раз. Общая форма объявления метода следующая

public boolean containsAll(Collection<?> obj);

здесь

  • obj – коллекция, элементы которой необходимо проверить на наличие в текущей коллекции.

Если все элементы коллекции obj встречаются хотя бы один раз в текущей коллекции, метод возвращает true. Если хотя бы одного элемента нет в коллекции, метод возвращает false.

Пример. В примере формируются две коллекции. Затем происходит проверка наличия одной коллекции в другой.

import java.util.*;

public class TrainCollections {

  public static void main(String[] args) {
    // Метод containsAll() - определить наличие элементов коллекции в массиве
    // 1. Создать коллекцию из чисел
    ArrayList<Integer> AL = new ArrayList();
    AL.add(1);
    AL.add(2);
    AL.add(3);
    AL.add(4);
    AL.add(5);

    // 2. Создать другую коллекцию из чисел
    ArrayList<Integer> AL2 = new ArrayList();
    AL2.add(1);
    AL2.add(2);
    AL2.add(5);

    // 3. Вызвать метод containsAll()
    boolean f_is_all = AL.containsAll(AL2);

    // 4. Вывести результат
    System.out.println("f_is_all = " + f_is_all);
  }
}

Результат выполнения программы

f_is_all = true

 

4. Методы indexOf() и lastIndexOf().Определить позицию первого и последнего вхождения элемента в массиве

С помощью методов indexOf() можно определить позицию первого или последнего вхождения заданного элемента в массиве. Объявление методов выглядит следующим образом

public int indexOf(Object obj);
public int lastIndexOf(Object obj);

здесь

  • obj – элемент, позицию которого нужно определить.

Если элемент obj не найден в массиве, то возвращается значение -1.

Пример.

import java.util.*;

public class TrainCollections {

  public static void main(String[] args) {
    // Метод indexOf(), lastIndexOf()
    // 1. Создать коллекцию из 10 вещественных чисел
    ArrayList<Double> AL = new ArrayList();
    AL.add(1.5);
    AL.add(1.2);
    AL.add(1.2);
    AL.add(1.7);
    AL.add(1.7);
    AL.add(1.1);
    AL.add(1.2);
    AL.add(1.8);
    AL.add(1.6);
    AL.add(1.7);
    System.out.println(AL);

    // 2. Найти позицию первого вхождения числа 1.2
    int pos = AL.indexOf(1.2); // pos = 1
    System.out.println("indexOf(1.2) = " + pos);

    // 3. Найти позицию первого вхождения числа 1.7
    pos = AL.indexOf(1.7); // pos = 3
    System.out.println("indexOf(1.7) = " + pos);

    // 4. Найти позицию последнего вхождения числа 1.2
    pos = AL.lastIndexOf(1.2);
    System.out.println("lastIndexOf(1.2) = " + pos);

    // 5. Найти позицию последнего вхождения числа 2.5
    pos = AL.lastIndexOf(2.5); // pos = -1 - числа нету в массиве
    System.out.println("lastIndexOf(2.5) = " + pos);
  }
}

Результат выполнения программы

[1.5, 1.2, 1.2, 1.7, 1.7, 1.1, 1.2, 1.8, 1.6, 1.7]
indexOf(1.2) = 1
indexOf(1.7) = 3
lastIndexOf(1.2) = 6
lastIndexOf(2.5) = -1

 

5. Методы iterator() и listIterator(). Получить итератор на коллекцию

Метод iterator() позволяет получить итератор на массив. Метод listIterator() возвращает итератор на массив в виде списка. С помощью итератора можно совершать обход коллекции. Общая форма формы объявления методов следующая:

public Iterator<E> iterator();
public ListIterator<E> listIterator();

здесь

  • E – тип элементов массива.

Пример. В нашем примере формируется массив символов. Затем с помощью итератора и их методов hasNext() и next() происходит обход массива.

import java.util.*;

public class TrainCollections {

  public static void main(String[] args) {
    // 1. Метод iterator() - получить итератор на массив
    // 1.1. Создать коллекцию символов
    ArrayList<Character> AL1 = new ArrayList<Character>();

    AL1.add('a');
    AL1.add('b');
    AL1.add('c');
    AL1.add('d');
    AL1.add('e');

    // 1.2. Создать итератор на коллекцию AL
    Iterator<Character> it1 = AL1.iterator();

    // 1.3. С помощью итератора списка осуществить обход коллекции
    // и вывести элементы коллекции
    Character c;

    while (it1.hasNext()) {
      c = it1.next(); // получить элемент
      System.out.print(c + " ");
    }

    // 2. Метод listIterator()
    // 2.1. Сформировать коллекцию чисел типа Short
    ArrayList<Short> AL2 = new ArrayList<Short>();
    for (int i=0; i<5; i++)
      AL2.add((short) (i)); // AL2 = [ 0, 1, 2, 3, 4 ]

    // 2.2. Создать итератор списка на коллекцию AL2
    Iterator<Short> it2 = AL2.iterator();

    // 2.3. Удалить первый элемент из коллекции (элемент 0)
    it2.next();
    it2.remove();

    // 2.4. Вывести остаток коллекции
    System.out.println();
    while (it2.hasNext()) {
      System.out.print(it2.next() + " ");
    }
  }
}

Результат выполнения программы

a b c d e
1 2 3 4

 


Связанные темы