func (s *HashSet[T]) Intersection(ss *HashSet[T]) *HashSet[T] {
	new := s.Copy()
	for _, v := range new.GetValues() {
		if !ss.Contains(v) {
			new.Remove(v)
		}
	}
	return new
}
// Intersection makes a set that has only the elements common to both of two sets
Intersection makes a set that has only the elements common to both of two sets
// Intersection makes a set that has only the elements common to both of two sets
func (s *HashSet[T]) Intersection(ss *HashSet[T]) *HashSet[T] {
	new := s.Copy()
	for _, v := range new.GetValues() {
		if !ss.Contains(v) {
			new.Remove(v)
		}
	}
	return new
}
func ( s * HashSet [ T ] ) Intersection ( ss * HashSet [ T ] ) * HashSet [ T ] { new := s . Copy ( ) for _ , v := range new . GetValues ( ) { if ! ss . Contains ( v ) { new . Remove ( v ) } } return new }
Intersection makes a set that has only the elements common to both of two sets
Intersection makes a set that has only the elements common to both of two sets