当前位置 : 主页 > 编程语言 > delphi >

delphi – 检测数组中唯一值的数量

来源:互联网 收集:自由互联 发布时间:2021-06-23
我正在寻找一种有效的方法来检测数组中唯一值的数量. 我目前的做法: 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;
网友评论