26.06.2014 / 17:41 | |
Ксакеп Модератор форума Сейчас: Offline
Регистрация: 20.06.2012
| SeTSeR, ну блин. Я имею в виду Stack<String>. У vlavok'a можно сделать и stack.push(1);
Изменено Ксакеп (26.06 / 17:41) (всего 1 раз) |
26.06.2014 / 17:49 | |
Freddy Пользователь Сейчас: Online
Имя: Игорь Откуда: Воронеж Регистрация: 30.01.2010
| Ксакеп, массив параметризованных объектов в Java создать не получится из-за ограничений, накладываемых на дженерики, подробнее здесь: http://docs.oracle.com/javase/...ns.html#createArrays |
26.06.2014 / 17:50 | |
vl@volk Пользователь Сейчас: Offline
Имя: Владислав Откуда: Земля Регистрация: 26.12.2012
| Ксакеп, а что мешает их добавить в стек и присвоить элементу массива? Или тебе надо сразу при объявлении массива добавить? private Stack getStack(String[] strs) {
Stack stack = new Stack();
for (String str: strs) { // работает ли для массивов?
stack.push(str);
}
return stack;
}
Stack[] sstrs = new Stack[] {
getStack(new String[]{ "stack 1, string 1", "stack 1, string 2" }),
getStack(new String[]{ "stack 2, string 1", "stack 2, string 2" })
}
or Stack[] sstrs = new Stack[] {
new Stack().push("stack 1, string 1").push("stack 1, string 2"),
new Stack().push("stack 2, string 1").push("stack 2, string 2)
}
__________________
знает толк |
26.06.2014 / 17:52 | |
Freddy Пользователь Сейчас: Online
Имя: Игорь Откуда: Воронеж Регистрация: 30.01.2010
| |
26.06.2014 / 17:52 | |
vl@volk Пользователь Сейчас: Offline
Имя: Владислав Откуда: Земля Регистрация: 26.12.2012
| Ксакеп, сейчас, там вручную чуток надо будя сделать и будет то что тебе надо
__________________
знает толк |
26.06.2014 / 17:58 | |
vl@volk Пользователь Сейчас: Offline
Имя: Владислав Откуда: Земля Регистрация: 26.12.2012
| __________________
знает толк |
26.06.2014 / 18:11 | |
Zvers Пользователь Сейчас: Offline
Регистрация: 06.02.2010
| Ксакеп, public class AOS {
public static StackObject[] st;
public static void main(String[] args) { st = new StackObject[4]; push("ABCD", 1); push("ABCDA", 1); push("abgf", 0); push("4555fgff", 2); push("4555fgf11111111f", 2); push("4MMMMMM", 2); System.out.println(pop(1)); push("ABCDB", 1); System.out.println(pop(1)); System.out.println(pop(1)); System.out.println(pop(1)); System.out.println(pop(0)); System.out.println(pop(2)); System.out.println(pop(2)); System.out.println(pop(2)); }
public static void push(String s, int pos) { StackObject obj = new StackObject(s); if (st[pos] != null) { obj.next = st[pos]; } st[pos] = obj; }
public static String pop(int pos) { StackObject obj = st[pos]; if (obj == null) { return "null"; } st[pos] = obj.next; return obj.str; }
public static class StackObject {
public String str; public StackObject next;
public StackObject(String w) { this.str = w; }
} }
|
26.06.2014 / 18:12 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| Ксакеп, public final class StackArray<T> {
public static void main(String[] args) {
StackArray<String> sar = new StackArray<>(10);
sar.getStackAt(0).push("1");
sar.getStackAt(1).push("2");
sar.getStackAt(0).push("3");
System.out.println(sar.getStackAt(0).pop());
}
private final Stack<T>[] array;
public StackArray(int size) {
array = (Stack<T>[]) Array.newInstance(Stack.class, size);
for (int i = 0; i < size; i++) {
array[i] = new Stack<>();
}
}
public Stack<T> getStackAt(int index) {
return array[index];
}
}
__________________
let live |
26.06.2014 / 18:28 | |
Ксакеп Модератор форума Сейчас: Offline
Регистрация: 20.06.2012
| aNNiMON, мне только объявление можно. Ну, а без Array.newins... ?: Stack<T>[] array = (Stack<T>[]) Array.newInstance(Stack.class, size);
vlavok, хочется параметризации: Stack[] sstrs = new Stack[]
Freddy, ясно дело, что прям так плохо писать, но на собеседовании массив "позарез" нужен: List<Integer>[] arrayOfLists = new List<Integer>[2]; // compile-time error
Zvers, ну это что-то около самописного стека, мне нужен из java.util.collections. Изменено Ксакеп (26.06 / 18:28) (всего 1 раз) |