Разработка java | SEclub.org
Разработка java
Все новые
Всего сообщений: 7795
*
Malcolm
28 фев 2009 в 20:30
DDDEN!SSS, хэш нужен для того, чтобы быстро сравнить два объекта, не проверяя их сходство досконально. Он вычисляется на основе данных об объекте и индивидуален для каждого объекта с разными параметрами.
Хэш-таблица нужна, если хранится набор объектов с определенными ключами, и их нужно по этим ключам оперативно вытаскивать. Пример - телефонная книга: номер - объект, а имя - ключ.
*
DDDENISSS
28 фев 2009 в 20:49
Malcolm, допустим у меня в вектор будят добавляться Integer, можно с помощью хеш проверить есть ли в векторе такое-то число? Или лучше boolean contains(Object elem). Я боюсь, что boolean contains(Object elem) будет искать именно объект Integer, а не число. Или он определит естьли там данное число?
*
Malcolm
28 фев 2009 в 22:17
DDDEN!SSS, все Integer с одинаковым число выдают одинаковый хэш, так что если ты добавил Integer с определенным числом в Vector, то при поиске ты его сможешь найти.
*
DDDENISSS
1 мар 2009 в 07:57
Malcolm, можеш еще написать пример кода как искать число.
int hash=vector.hashCode()
и как дальше по hash понять, есть ли в векторе допустим число 6.
*
Malcolm
1 мар 2009 в 09:51
DDDEN!SSS, да не надо вызывать метод вычисления кэша, все делается автоматически. Например, вот этот метод возвратит true, если есть число 6: vector.contains(new Integer(6)). Создается новый объект Integer, который выдает тот же хэш, что и искомый, и по нему проверяется на наличие нужный объект. Конечно, лучше бы обойтись без создания нового объекта, но так не получается.
*
DDDENISSS
1 мар 2009 в 09:56
Malcolm, оно хоть быстро ищется? Фпс мне не понизит?
*
Malcolm
1 мар 2009 в 10:00
DDDEN!SSS, если очень критична скорость, то обычно советуют с Vector"ами не вязаться вообще. Но ты посмотри, может быть, у тебя где-то еще скорость теряется значительно сильнее, и используется ли Vector или нет, нет никакой разницы. Всегда стоит проверять, а уже только потом оптимизировать. Оптимизация же тоже идет за счет читаемости кода, например, и не только.
*
DDDENISSS
1 мар 2009 в 10:21
Malcolm, скорости у меня еще пока что негде теряться, фпс 95-102:-D. Я думаю поделить игровое поле на сектора и в начале определить к каким секторам какие линии относятся. А в самой игре определять какие сектора видны. И из видимых секторов добавлять номера линий в вектор, НО т.к. одна линия может принадлежать нескольким секторам, то надо определять не добавилась ли уже линия в вектор.
1 мар 2009 в 10:23 / DDDENISSS (1)
*
DDDENISSS
1 мар 2009 в 10:34
Вот нарисовал-upwap.ru/337833 . Видны 4 сектора, а линия одна. Поэтому при добавления линий с сектора надо проверять не добавлялись уже эти линии. Только сначалобы научится определять принодлежность линии сектору. Для этого надо проверить не лежитли какойто конец отрезка в секторе и проверить пересечение отрезка со сторонами сектора. Первое легко, а второе вроде нашол algolist.manual.ru/maths/geom/intersect/lineline2d.php но надо на джаву перевести.
*
FOB1O
1 мар 2009 в 10:56
DDDEN!SSS, вот ты задолбал, иди кури доки! И сам учись думать и эксперементировать! А не надоедать однообразными вопросами, а так как серавно в форуме супер ответ не получишь! Имхо!
*
DDDENISSS
1 мар 2009 в 11:20
FOB!O, aяяй! Вот я не хароший та какой. A самта какие тупые вопросы задаёш. Я помню ты не давно спрашивал, что такое if:-D.
*
cHeRsAnYa1
1 мар 2009 в 14:48
Как отобразить картинку на экране? Она загружена в объект типа Image.
Для полноценного использования разделов сайта войдите или зарегистрируйтесь.
Общие вопросы | Загрузки Seclub | Форум | Главная
18+ © Seclub.org 2003-2026