#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. Как вариант - завести счетчик,
и в итераторе обойти все элементы, инкрементируя этот счетчик:
Iterator iterator = 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());
Комментариев нет:
Отправить комментарий