Ошибки компиляции устраняются с помощью «нового» определения TMap, НЕ возможной ссылки на дублирование.Я пытался прояснить это.Я Java Newbee, и это мой первый пост.
Проблема, как и тогда, заключается в том, что я не могу получить доступ к моему TMap из разных классов.
Сказав это, мои Путы будут потеряны из-за последующего Get с "new".Кажется, я не могу получить доступ к TMap, не создавая его снова и снова.Последовательность событий: Определите / init TMap => Put / Get to TMap => Get TMap с «новым».
Я нашел несколько похожих и хороших идей в вопросе Stackoverflow: «Доступ к HashMap из другого класса»,
Создание и инициализация классов древовидной карты DataStorage и Put / Get классов PutDataStorage работают нормально (успешно загружены и могут получить эти записи).
Я пытаюсь получить с «новым» DataStorage (потому что я еще не понял, как получить доступ к таблице в противном случае) и не удается, потому что я создал новый Tmap.
Я что-то упускаю из этих примеров.Может быть, полный пример поможет мне вместо кусочков.Мне нравятся концепции кусочков, но я слишком новичок, чтобы ценить отдельные кусочки в настоящее время и уже потратил слишком много времени на это (время от времени в течение нескольких недель).
Да, я такой новый;).Я как-нибудь исправлю это в какой-то момент.
Резюме:
В идеале я пытаюсь создать и загрузить мою TreeMap в один класс.Доступ к тому же TreeMap из одного или нескольких отдельных / дополнительных / других классов.
Что у меня сейчас: Потерянные начальные загруженные данные и карта.Невозможность доступа к моей карте дерева из другого класса.
Тем временем я все еще пробую разные идеи, играю с пакетами и т. Д.
Определение / инициализация карты дерева: DataStorage
import java.util.TreeMap;
public class DataStorage {
public static TreeMap<String, Integer> people = new TreeMap<String, Integer>();
}
И Put: PutDataStorage
import java.util.TreeMap;
public class PutDataStorage {
/**
* Run one time "put"
*/
public static void main(String[] args) {
DataStorage storage = new DataStorage();
TreeMap<String, Integer> people = storage.people;
people.put("bob", 2);
people.put("susan", 5);
System.out.println("PutData whole Entry " +people.entrySet());
System.out.println("PutData First Entry " +people.firstEntry());
System.out.println("PutData susan Value " +people.get("susan"));
}
}
Get Treemap: GetDataStorage Удаляет мои предыдущие записи пут, потому что у меня там "новое".Единственная запись, которую я получаю из GetDataStorage, - это запись соло popeye = 3.Мне нужно найти способ получить доступ к TMap без необходимости воссоздавать его снова и снова.
import java.util.TreeMap;
public class GetDataStorage {
public static void main(String[] args) { //System.out.println("main");
DataStorage storage = new DataStorage();
TreeMap<String, Integer> people = storage.people;
// TreeMap<String, Integer> people = new TreeMap<String, Integer>();
people.get("bob");
people.get("susan");
people.put("popeye", 3);
System.out.println("GetData 1stEntry " +people.firstEntry());
System.out.println("GetData bobValue " +people.get("bob"));
System.out.println("GetData popValue " +people.get("popeye"));
System.out.println("GetData lowerKey " +people.lowerEntry("popeye"));
System.out.println("GetData highKey " +people.higherEntry("popeye"));
}
}
Вывод: из пут
PutData whole Entry [bob=2, susan=5]
PutData First Entry bob=2
PutData susan Value 5
Вывод: из Get
GetData 1stEntry popeye=3
GetData bobValue null
GetData popValue 3
GetData lowerKey popeye=3
GetData hireKey popeye=3
Ожидаемый результат Get должен быть:
GetData 1stEntry bob=2
GetData bobValue 2
GetData popValue 3
GetData lowerKey bob=2
GetData highKey susan=5
Заранее благодарим.