public Set<Integer> getAllFriendsAndPotentialFriends(int index, int deep) { Set<Integer> set = new HashSet<>(); Set<Integer> resultSet = new HashSet<>(); for (int i = 0; i < humanRelationships.length; i++) { if (i > index) { if (humanRelationships[i][index]) resultSet.add(i); } else { if (humanRelationships[index][i] && index != i) resultSet.add(i); } } for (int i = 1; i < deep; i++) { resultSet.forEach(j -> { for (int k = j; k < humanRelationships.length; k++) { if (k != j && humanRelationships[k][j] && k != index) set.add(k); } }); resultSet.addAll(set); } return resultSet; }