Creating List of String elements that occur a certain amount of times using only the List ADT
This is more of a hint but unfortunately I cannot comment on your post.

As greybeard already mentioned, you could sort the List and then count the elements with equal firstName. A representation of the sorted List may give you an idea how to implement this:

List("Alice A", "Alice B", "Alice C", "Brian A", "Brian B", "Jason A", "Jason B", "Jason C", ...)


Another solution is to use a Collection that counts equal entries.

This Collection implementation is often available as Bag. This is unfortunately not included in the Java standard library, but implementations are available in Apache Commons. Note that you have to transform the List of firstName + lastName to a list that only contains the firstName. You can use a Transformer also available in Apache Commons that strips the lastName (the values of the resulting List will then be lazy evaluated).