I have a list which contains duplicate entries.
List<Account> aList1=new List<Account>([select Id,Name from account where Name LIKE '%Falcon%']);
Map<String,Account> aMap=new Map<String,Account>();
for(Account a:aList1)
{
    aMap.put(a.Name,a); // remove duplicate if any
}

Now I have created a trigger on account object that prevents duplicates.

Now I want to compare all values in aMap with all records in aList2.
If there are any duplicates they are removed.
List<Account> aList2=[select ID,Name from Account ORDER BY Name];
for(Account a:aList2)
{
   if(aMap.containsKey(a.Name))
       aMap.remove(a.Name);  removes duplicates from aList1
}
Database.Insert(aMap.values(),false);
But after the for Loop, aMap is empty.Please let me know.