24.03.2016 / 08:12 | |
ВитаминКО Супермодератор Сейчас: Offline
Имя: Василиус Откуда: RZN Регистрация: 20.04.2012
| зачем нужны вложенные (класс внутри класса) классы? практическое применение?
__________________
わからない!! |
24.03.2016 / 09:09 | |
Ginosaji Пользователь Сейчас: Offline
Имя: Игорь Откуда: Воронеж Регистрация: 30.01.2010
| |
24.03.2016 / 21:40 | |
Naik Пользователь Сейчас: Offline
Имя: %name% Регистрация: 14.03.2010
| ВитаминКО, 1. чтобы не выносить код из класса, если он больше нигде не нужен кроме как в родительском. 2. если это не статический класс, то он имеет доступ к полям и методам родительского
|
24.03.2016 / 23:50 | |
ВитаминКО Супермодератор Сейчас: Offline
Имя: Василиус Откуда: RZN Регистрация: 20.04.2012
| то есть, если нет смысла делать отдельный класс, то можно внутри сделать
__________________
わからない!! |
25.03.2016 / 19:57 | |
Naik Пользователь Сейчас: Offline
Имя: %name% Регистрация: 14.03.2010
| ВитаминКО, Да, чтобы не засорять namespace, или если нужен доступ к классу-родителю
|
5.04.2016 / 19:47 | |
mcdevil Пользователь Сейчас: Offline
Имя: null Регистрация: 17.10.2015
| Есть String[] array и String element, нужно найти индекс element в array, как это сделать быстрее?
|
5.04.2016 / 20:18 | |
aRiGaTo Пользователь Сейчас: Offline
Имя: Snork Откуда: Yerevan Регистрация: 03.02.2010
| mcdevil, зависит от того, что значит «сделать быстрее» и самой задачи (как правило, дьявол кроется в деталях). 1. Простой линейный поиск, 2. Arrays.binarySearch( ... ), если массив отсортирован 3. ... N. Найти другую структуру данных, которая больше подходит для такой задачи, например, Bidirectional Map.
__________________
don't tread on me |
7.04.2016 / 16:49 | |
mariyka Пользователь Сейчас: Offline
Имя: Маша Регистрация: 09.06.2013
| mcdevil, int search(String[] data, String element){
int a = 0;
int dataLength = data.lenght;
char e = element.charAt(0);
for(;a < dataLength;a+=1){
if(data[a].charAt(0) == e){
if(data[a].equals(element)){
break;
}
}
return a;
}
|
7.04.2016 / 19:41 | |
mcdevil Пользователь Сейчас: Offline
Имя: null Регистрация: 17.10.2015
| mariyka, в твоем коде сравнивается во первых первый символ строк, во вторых если размер data 20 то цикл выполнится 20 раз а мне нужно как можно меньше. Вообщем сделал так int search(String[] data, String element)
{
int begin = 0;
int end = data.length - 1;
for(; begin < data.length; begin++, end--)
{
if (element.equals(data[begin])
return begin;
if (element.equals(data[end])
return end;
}
return -1;
}
при этом элемент найдется в два раза быстрее, или вообще мгновенно когда элемент находится в конце массива. нет ли других более эффективных способов. Arigato, что такое отсортированный? Изменено mcdevil (7.04 / 19:47) (всего 2 раза) |
7.04.2016 / 19:51 | |
mariyka Пользователь Сейчас: Offline
Имя: Маша Регистрация: 09.06.2013
| mcdevil, тебе нужно сократить сколько будет повторятся цикл? или по времени выполнения?
|