Re: Java: Array[] и ArrayList
У меня тоже, к сожалению. 

Дело в том, что у меня сейчас нет интернета...
В общем, нужно использовать метод get(int) у ArrayList'а.
А для сравнения операции сравнения целых чисел <, <=, =, >=, >.
А, ещё потребуется Object, который ты достанешь из ArrayList'а, преобразовать в Integer, и вызвать у Integer'а метод getValue. Вот такая вот она уебищная, эта Java.
А для сравнения операции сравнения целых чисел <, <=, =, >=, >.
А, ещё потребуется Object, который ты достанешь из ArrayList'а, преобразовать в Integer, и вызвать у Integer'а метод getValue. Вот такая вот она уебищная, эта Java.
Хотя можно не делать intValue а воспользоваться методом сравнения compareTo(Integer).
Пишу в цикле
int value = Integer.parseInt(list.get(i;
int last = 5;
compareTo (5, value);
В чём ошибка?
int value = Integer.parseInt(list.get(i;
int last = 5;
compareTo (5, value);
В чём ошибка?
parseInt читает строку и пытается разобрать, что за число в ней написано.
А тебе надо
А тебе надо
int value = Integer)list.get(i.intValue;
или вот так:
int value = Integer.parseInt(list.get(i;
int last = 5;
last.compareTo (value);
Я просто в первый раз это делаю.
int value = Integer.parseInt(list.get(i;
int last = 5;
last.compareTo (value);
Я просто в первый раз это делаю.
А как дальше compareTo применять?
почему этот код:
int last = list.size;
System.out.println(last);
возвращает значение 1, если в list по идее лежит массив N целых чисел?
int last = list.size;
System.out.println(last);
возвращает значение 1, если в list по идее лежит массив N целых чисел?
Я пишу так:
int[] a = {2,4,6,7,8,9};
ArrayList list = new ArrayList;
list.add(a);
int razmer = list.size;
System.out.println(raxmer);
Возвращается значение 1. Как это понимать?
int[] a = {2,4,6,7,8,9};
ArrayList list = new ArrayList;
list.add(a);
int razmer = list.size;
System.out.println(raxmer);
Возвращается значение 1. Как это понимать?
Смешной тред, молодцы. Ботать auto-boxing.
Правильный код:
Правильный код:
int[] a = { 1, 2, 3 };
System.out.println(Arrays.asList(a).size; Да, я уже сам здесь ухахатываюсь)
Я предполагаю, что в случае моего кода ArrayList принимает целый массив за свой 1 элемент, поэтому возвращается число 1. Верно?
Я предполагаю, что в случае моего кода ArrayList принимает целый массив за свой 1 элемент, поэтому возвращается число 1. Верно?
Да.
что такое auto-boxing?
Где мне можно найти список готовых простых программ на Java, иллюстрирующих множество возможностей этого языка программирования? Например, маленькая программа, которая показывает всё, на что способен ArrayList. По-моему, неплохо!)
Где мне можно найти список готовых простых программ на Java, иллюстрирующих множество возможностей этого языка программирования? Например, маленькая программа, которая показывает всё, на что способен ArrayList. По-моему, неплохо!)
Ботать auto-boxing.А если у него Java < 1.5?
Рекомендую прочитать какую-нибудь книжку.
Книжек у меня много разных, но не все они подходят. Мне нужен бы именно набор таких программ, на примере которых я мог бы писать свои. Эта штука:
int[] a = { 1, 2, 3 };
int razmer = Arrays.asList(a).size;
почему-то выдаёт волнистое подчёркивание:
cannot find symbol; symbol : variable Arrays, location: class stady.example at line 23 (23:22)
хотя я всё импортировал, что надо, а именно :
import java.util.Arrays.*;
import java.util.*;
У меня jdk 1.4.
int[] a = { 1, 2, 3 };
int razmer = Arrays.asList(a).size;
почему-то выдаёт волнистое подчёркивание:
cannot find symbol; symbol : variable Arrays, location: class stady.example at line 23 (23:22)
хотя я всё импортировал, что надо, а именно :
import java.util.Arrays.*;
import java.util.*;
У меня jdk 1.4.
А причем здесь автобоксинг?
Интересно вот, кого и куда?
Интересно вот, кого и куда?Что значит "правильный"? Изначальный код то же самое давал.
дает в результате 1.
Сами то проверяли? asList в данном случае идет от int[][] по той простой причине, что в 1.5 сигнатура у него asList(T ... а T не может быть простым типом, в этом случае компилятор считает, что значение от одного аргумента типа int[].
import java.util.Arrays;
public class ta {
public static void main(String [] args) {
int[] a = { 1, 2, 3 };
System.out.println(Arrays.asList(a).size;
}
}
дает в результате 1.
C:\Documents and Settings\max>javac -version
javac 1.5.0_06
C:\Documents and Settings\max>java -version
java version "1.5.0_06"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode, sharing)
Сами то проверяли? asList в данном случае идет от int[][] по той простой причине, что в 1.5 сигнатура у него asList(T ... а T не может быть простым типом, в этом случае компилятор считает, что значение от одного аргумента типа int[].
да, надо было Integer[] a
А полностью пример кода? Когда до 1.4 доберусь, сам посмотрю, но там вроде бы всё равно не такая ошибка должна быть.
Книжки прочитать все равно стоит, чтобы вначале понять, что и как в языке происходит, а потом уже смотреть возможности использования различного API. Иначе будет куча кода "по аналогии", при взгляде на который волосы встают дыбом
Кстати, согласно http://java.sun.com/j2se/1.4.2/docs/api/java/util/Arrays.htm... приведенный вами код всё равно работать не будет (в 1.4) так как нет метода, перегруженного для массива int[], а массив int[] к Object[] не приводится.
Если нужен ArrayList - нужно создать и заполнить элементами из массива вручную.
Книжки прочитать все равно стоит, чтобы вначале понять, что и как в языке происходит, а потом уже смотреть возможности использования различного API. Иначе будет куча кода "по аналогии", при взгляде на который волосы встают дыбом

Кстати, согласно http://java.sun.com/j2se/1.4.2/docs/api/java/util/Arrays.htm... приведенный вами код всё равно работать не будет (в 1.4) так как нет метода, перегруженного для массива int[], а массив int[] к Object[] не приводится.
Если нужен ArrayList - нужно создать и заполнить элементами из массива вручную.
Кроме SDK стоит ставить и help к нему.
А проги типа Идеи еще и поддерживают контекстную справку по нему
А проги типа Идеи еще и поддерживают контекстную справку по нему

Оставить комментарий
htaed
Люди! У меня в ArrayList лежит набор целых чисел:int[] a = {2,4,5,6,7,8};
ArrayList al = new ArrayList;
al.add(a);
1. Как мне из этого ArrayList получить i-ое значение?
2. Как сравнить элементы k и m из ArrayList?