Most times, keys are strings and I find myself using StringKeyIterator to go through all keys (or list keys). And to have control over maxRowCount fetched at a time, I have to use KeyIterator. Having other constructors in StringKeyIterator makes the job easier as the whole purpose of StringKeyIterator is to have an easy-readable alternative.
UPDATE: As suggested by Nate, refactored KeyIterator constructor to builder pattern.
Refactor KeyIterator constructor to builder pattern
and mark the constructors as deprecated and leave it for back for backward compatability
Nate, my bad, didn't think of backward compatibility. As you suggested, I put the constructors back and marked them as @Deprecated.