public HashTable union(HashTable h) {
		List<String> l1 = this.makeList();
		List<String> l2 = h.makeList();
		
		Collections.sort(l1);
		Collections.sort(l2);
		
		HashTable out = new HashTable(Math.min(this.table.length, h.table.length));

		for (int i = 0; i < Math.min(l1.size(), l2.size()); i ++) {
			if (! l1.get(i).equals(l2.get(i))) {
				out.add(l1.get(i));
				out.add(l2.get(i));
			}
			
			else {
				out.add(l1.get(i));
			}
		}

		return out;
	}