Я создаю несколько CustomNodes с Buttons на AnchorPane. Мои узлы создаются при нажатии Button, например. когда я нажимаю кнопку 'task1', будет создан новый узел с Label 'task1' и идентификатором. У этих CustomNodes есть несколько задач (например, task1, task2), и они будут созданы при разных событиях Button. У меня есть ArrayList, где я храню эти идентификаторы (но я храню все идентификаторы в одном и том же списке).

Могу ли я хранить два элемента в одном индексе списка (id + функция)? Например, когда я нажимаю на task1 Button, я хочу сохранить идентификатор и функцию task1 в одном индексе. И когда я нажимаю task2 Button, я хочу сохранить функцию id + task2 сразу после нее, но в том же списке.

И еще один вопрос, который я задаю: могу ли я получить порядковые номера удостоверений личности? Я подключаю свои узлы через CubicCurves, в этом классе Link у меня есть функция:

public void bindEnds (DragNode source, DragNode target) {
//Code above
        source.registerLink (getId());
        target.registerLink (getId());
}

public void registerLink(String linkId) {
    mLinkIds.add(linkId);
}

Где я регистрирую свои исходный и целевой CustomNodes. На моих узлах два Circles (слева и справа). Левый Circle должен быть входом, правым выходом. Я хочу проверить, подключен ли мой левый / правый Circle. Если левый не подключен, а правый, он должен быть первым элементом в моем списке. Если оба подключены, мне нужен заказ и я сохраню его.

0
Flippy 26 Ноя 2016 в 17:03

2 ответа

Лучший ответ

Просто создайте класс, который будет хранить идентификатор и задачу следующим образом:

public class Stocker {
private Task task;
private int id;
public Stocker(Task task, int id) {
this.task = task;
this.id = id;
}
public Task getTask() {
return task;
}
public int getId() {
return id;
}
}

А затем измените свой список следующим образом:

List<Stocker> stockers = new ArrayList<Stocker>();

Теперь вы можете создать стокер с помощью:

Stocker stocker = new Stocker(task,id);

Хранить его с:

stockers.add(stocker);

И получите доступ к своим значениям, используя:

stockers.get(index).getId();
//or
stockers.get(index).getTask();
0
GoldenBolt 26 Ноя 2016 в 14:11

Библиотека http://www.javaslang.io/ уже определила тип Touple, это именно то, что вы хотите, но если вы не хотите добавлять новую библиотеку, просто создайте объект самостоятельно. Простое pojo с двумя атрибутами (id и function) должно помочь.

0
Federico José Sorenson 26 Ноя 2016 в 14:09