FwSet

Set (conjunto sem duplicatas) TLPP. Indispensavel pra deduplicar listas e checar pertencimento rapido.

Assinatura: oSet := FwSet():New() // :Add(x), :Contains(x), :Remove(x), :Size()

Retorna: FwSet object

Set garante unicidade dos elementos e :Contains() em O(1). Substituto moderno do padrao If aScan(aArr, x) == 0 ; aAdd(aArr, x) ; EndIf.

#include "tlpp-core.th"

User Function Dedup()
    Local oSet := FwSet():New()

    For i := 1 To Len(aProdutos)
        oSet:Add(aProdutos[i])  // duplicatas ignoradas
    Next

    ConOut("Produtos unicos: " + cValToChar(oSet:Size()))

    If oSet:Contains("12345")
        ConOut("Tem o codigo 12345")
    EndIf
Return

Pegadinhas

Veja também