Полученный GUID дублируется, является ли моя ошибка кода Java?

Когда вы пишете XML для своих элементов списка, которые накачиваются в getView(...) любого ListAdapter, который вы написали, вы можете это сделать.

Что-то вроде этого для элемента списка:




  

  

    

  


Затем вы создаете этот drawable / gradient. Для этого вы можете переработать ответ из здесь .

2
задан bfq 13 July 2018 в 08:41
поделиться

1 ответ

Предположим, что число потенциальных значений GUID равно n, очень большому натуральному числу. Предположим также, что число уже выбранных значений k. Теперь вероятность (p) наличия дубликата в значениях зависит от n и k. n - очень большое натуральное число, но давайте посмотрим возможные значения k (я использую предположение, что все возможные значения имеют в основном одну и ту же вероятность):

k == 0

В этом случае вы получаете самый первый GUID, и невозможно получить дубликат. p == 0

k === n

В этом случае у вас уже есть все возможные значения, и невозможно получить дубликат. p == 1

0 & lt; = k & lt; = n

В этом случае вероятностью получения нового значения является:

p == (n - k) / n

, поскольку нам нужно исключить уже выбранные k элементов. С другой стороны, вероятность получения дубликата равна

p '== k / n

, поэтому с увеличением k, p уменьшается и p' увеличивается. Обратите внимание, что два первых случая - частные случаи этого общего случая. Теперь, каково может быть решение, чтобы вы не получили дубликат?

Ну, вы используете нижний регистр, что в основном уменьшает возможные значения до половины. Если вы избегаете использования нижних регистров, то n практически удваивается. Кроме того, вы можете использовать два конкатенированных значения guid для ваших новых значений, которые никогда не будут дублироваться для ваших значений, используемых ранее, поскольку они различаются по длине строки. Или, вы можете использовать id перед gui String.

0
ответ дан Lajos Arpad 17 August 2018 в 13:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: