Мне нужно связать уникальный ключ с каждым из нескольких объектов прямоугольника в Java. Ключ имеет тип данных double, и прямоугольники, очевидно, являются типами данных прямоугольника.
В настоящее время у меня есть прямоугольники в векторе, но они не очень полезны для меня, если я не могу также получить доступ к их ключам, как указано в первом абзаце выше.
Я бы сделал двумерный массив, где первый столбец является ключом, а второй столбец - прямоугольником, но количество строк в массиве нужно будет постоянно менять, поэтому я не думаю, что массив будет работать , Я изучил векторы и списки массивов, но меня беспокоит возможность поиска и среза данных.
Может кто-нибудь показать мне простой Java-код для создания и последующего доступа к двумерному набору данных с переменным числом строк?
В настоящее время мой прототип выглядит так:
ArrayList<Double> PeakList = new ArrayList<Double>();
Vector<Rectangle> peakVector = new Vector<Rectangle>();
Vector<Double> keyVector = new Vector<Double>();
if(PeakList.contains((double)i+newStartingPoint)){
Rectangle myRect = new Rectangle(x2-5, y2-5, 10, 10);
boolean rectFound = peakVector.contains(myRect);
System.out.println("rectFound is: "+rectFound);
Double myPeak = ((double)i+newStartingPoint);
if(rectFound!=true){
peakVector.add(myRect);
keyVector.add(myPeak);
System.out.println("rectFound was added.");
}else{System.out.println("rectFound was NOT added.");}
}
Затем я перечисляю данные для последующей обработки с помощью чего-то вроде следующего:
Enumeration e = peakVector.elements();
while (e.hasMoreElements()) {
g2.fillRect(peakVector.lastElement().x, peakVector.lastElement().y, 10, 10);
}
Как видите, невозможно впоследствии объединить ключи с прямоугольниками. Вот почему я ищу 2D-объект для использования. Может кто-нибудь показать мне, как исправить этот код, чтобы я мог связать ключи с прямоугольниками и впоследствии получить доступ к соответствующим образом связанным данным?