public String getCliques(String college) { UndirGraph<Friend> CollegeRestricted = this.getStudentsAtTheCollege(college).graph; ArrayList<ArrayList<Friend>> cliques = CollegeRestricted.getCliques(); String retstr = ""; for (int i = 0; i < cliques.size(); i++) { retstr += "clique " + (i + 1) + ": \n\n" + cliques.get(i).size() + "\n"; for (int j = 0; j < cliques.get(i).size(); j++) retstr += cliques.get(i).get(j).toString() + "\n"; HashSet<String> s = new HashSet<String>(); for (int j = 0; j < cliques.get(i).size(); j++) { for (int k = 0; k < cliques.get(i).size(); k++) { if (this.graph.containsEdge( this.graph.vertexNumberOf(cliques.get(i).get(j)), new Neighbor(this.graph.vertexNumberOf(cliques.get(i).get(k))))) { String nameOne = cliques.get(i).get(j).name, nameTwo = cliques.get(i).get(k).name, nameCom = ""; if (nameOne.compareTo(nameTwo) < 0) nameCom = nameOne + "|" + nameTwo; else if (nameOne.compareTo(nameTwo) > 0) nameCom = nameTwo + "|" + nameOne; s.add(nameCom); } } } for (String adj : s) retstr += adj + "\n"; } return retstr; }