>>311
あんまりスマートじゃないが。
結果は、resultの中に。

HashSet allKey = new HashSet();
allKey.addAll( key );
HashSet allValue = new HashSet();
allValue.addAll( value );

ArrayList result = new ArrayList();
for ( Iterator ite = allValue.iterator(); ite.hasNext(); ) {
Object val = ite.next();
HashSet keyChecker = (HashSet)allKey.clone();
for ( int i = 0; i < value.size(); i++ ) {
if ( value.get( i ).equals( val ) ) {
keyChecker.remove( key.get( i ) );
}
}
if ( keyChecker.size() == 0 ) {
result.add( val );
}
}