in reply to
Memory issue with large array comparison
Seems to me (subject to the Monks' corrections) that the OP's precise words mean no hash is required: Just store (push) to a new array those items from the "large list" that have no match in the "large array". And that requires only a pretty basic regex ... unless the OP means (without specifying it) that the "large list" includes more than the single path in the example... and even that solves itself with the same simple regex... capturing everything after the last slash to test the match.
OP makes no statement that the "new array" referred to in the 2nd para
"I am using some code I found on here to create a new array that contains pathnames in which the id after the last slash in the pathname doesn't match any of the id's in the array of id's."
that requires anything more than an array of non-matches.
When there's a simple way and a hard way that produce the same results, go simple!