JDK-8179007 : java.util.Collections::disjoint -- run-time improvement
  • Type: Enhancement
  • Component: core-libs
  • Sub-Component: java.util:collections
  • Affected Version: 8,9
  • Priority: P4
  • Status: Open
  • Resolution: Unresolved
  • Submitted: 2017-04-20
  • Updated: 2017-06-12
Related Reports
Relates :  
Description
A DESCRIPTION OF THE REQUEST :
Add to the beginning of the function: disjoint(Collection<?> c1, Collection<?> c2) 

if(c1 == c2) return false; // same collection. All match
if (c1.isEmpty() || c2.isEmpty()) return true; // At least one collection is empty. Nothing will match.




JUSTIFICATION :
This small minor changes will easily improve run-time.
Specially for the case of (c1 instanceof Set) && (c1.isEmpty()), where we save unnecessary O(c2.size()) iterations