我正在寻找一种有效的方法来检测数组中唯一值的数量. 我目前的做法: Quicksort整数数组 然后运行循环来比较元素. 在代码中: yearHolder := ''; for I := 0 to High(yearArray) do begin currYear := ye
我目前的做法:
> Quicksort整数数组
>然后运行循环来比较元素.
在代码中:
yearHolder := ''; for I := 0 to High(yearArray) do begin currYear := yearArray[i]; if (yearHolder <> currYear) then begin yearHolder := currYear; Inc(uniqueYearNumber); end; end;以下是THashedStringList的示例:
hl := THashedStringList.Create; // in Inifiles try hl.Sorted := True; hl.Duplicates := dupIgnore; // ignores attempts to add duplicates for i := 0 to High(yearArray) do hl.Add(yearArray[i]); uniqueYearCount := hl.Count; finally hl.Free; end;