How to filter a map in Pascal

1 Answer

0 votes
program FilterMapExample;

uses
  FGL;

type
  TMyMap = specialize TFPGMap<Integer, String>;

var
  MyMap, FilteredMap: TMyMap;
  i: Integer;
begin
  // Initialize the map
  MyMap := TMyMap.Create;
  FilteredMap := TMyMap.Create;

  // Add key-value pairs
  MyMap.Add(1, 'A');
  MyMap.Add(2, 'B');
  MyMap.Add(3, 'C');
  MyMap.Add(4, 'D');
  MyMap.Add(5, 'E');

  // Filter the map: Keep only entries with even keys
  for i := 0 to MyMap.Count - 1 do
  begin
    if MyMap.Keys[i] mod 2 = 0 then
      FilteredMap.Add(MyMap.Keys[i], MyMap.Data[i]);
  end;

  for i := 0 to FilteredMap.Count - 1 do
    WriteLn('Key: ', FilteredMap.Keys[i], ', Value: ', FilteredMap.Data[i]);

  // Free memory
  MyMap.Free;
  FilteredMap.Free;
end.




(*
run:
  
Key: 2, Value: B
Key: 4, Value: D

*)

 



answered Aug 7, 2025 by avibootz

Related questions

3 answers 261 views
3 answers 281 views
1 answer 177 views
177 views asked Aug 7, 2025 by avibootz
1 answer 167 views
1 answer 212 views
1 answer 167 views
167 views asked Aug 6, 2025 by avibootz
...