Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- *
- * @author Skoczek Kacper S15532
- *
- */
- package zad1;
- import java.io.File;
- import java.io.FileNotFoundException;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.List;
- import java.util.Scanner;
- public class Anagrams {
- List<List<String>> l = new ArrayList<List<String>>();
- List<String> l2 = new ArrayList<String>();
- List<String> copy = new ArrayList<String>();
- public Anagrams(String allWords) {
- // TODO Auto-generated constructor stub
- try {
- Scanner scan = new Scanner(new File(allWords));
- List<String> ls = new ArrayList<String>();
- while(scan.hasNext()) {
- String s[] = scan.next().split(" ");
- for (int i = 0; i < s.length; i++) {
- ls.add(s[i]);
- }
- }
- for (int i = 0; i < ls.size(); i++) {
- String s1 = ls.get(i);
- if (!(copy.contains(s1))) {
- l2 = new ArrayList<String>();
- l2.add(s1);
- for (int j = 0; j < ls.size(); j++) {
- String s2 = ls.get(j);
- if (!(l2.contains(s2)) && !(s1.equals(s2)) && s1.length() == s2.length()) {
- char[] c1 = s1.toCharArray();
- char[] c2 = s2.toCharArray();
- Arrays.sort(c1);
- Arrays.sort(c2);
- if (Arrays.equals(c1, c2)) {
- l2.add(s2);
- copy.add(s2);
- }
- }
- }
- l.add(l2);
- copy.add(s1);
- }
- }
- scan.close();
- } catch (FileNotFoundException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- public List<List<String>> getSortedByAnQty() {
- // TODO Auto-generated method stub
- l.sort((c1, c2) -> {
- int res = c2.size() - c1.size();
- if(res == 0) res = c1.get(0).compareTo(c2.get(0));
- return res;
- });
- return l;
- }
- public String getAnagramsFor(String next) {
- // TODO Auto-generated method stub
- for (int i = 0; i < l.size(); i++) {
- if(l.get(i).contains(next)) {
- l.get(i).remove(next);
- return next + ": " + l.get(i);
- }
- }
- return null;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement