#java
У меня есть массив long m[] от 1 до 100000000000. Как его вывести ? (и как с ним работать именно в глобальном плане "узнать размер" и т.д. ) Я написал такой код но он работает только для чисел до максимума int-a. public static void main(String[] args) { // TODO Auto-generated method stub long m[] = {1, 2, 3, 4, 5, 8, 9, 10}; try {sorter(m);} catch(Exception e) {System.out.println("ошибка");} } static void sorter(long m[]) { //.length это интовая встрoенная функция (((( for (long i=0; iОтветы
Ответ 1
Если вам надо хранить количество элементов, большех чем Integer.MAX_VALUE, то советую вам посмотреть на LinkedList. Чтобы узнать размер, недостаточно просто вызвать метод size(), потому как он ограничен тем же Integer.MAX_VALUE. Как вариант - завести счетчик, и в итераторе обойти все элементы, инкрементируя этот счетчик: Iteratoriterator = linkedList.iterator(); long count = 0; while(iterator.hasNext()) { iterator.next(); count++; } System.out.println(count); Или же с помощью дефолтного метода forEachRemaining ( для java8) : AtomicLong count = new AtomicLong(0); Iterator iterator = linkedList.iterator(); iterator.forEachRemaining(next -> count.incrementAndGet()); System.out.println(count.get());
Комментариев нет:
Отправить комментарий