= Arrays.asList("Android","iOS", null, "Windows Phone”); //Remove valores null List<String> osNotNull = new ArrayList<>(); for (String name : os) { if (name != null) osNotNull.add(name); } //SORT Collections.sort(osNotNull, new Comparator<String>() { @Override public int compare(String l, String r) { return r.length() - l.length(); } }); //Map to UpperCase for (String name : osNotNull) { String value = name.toUpperCase(); } } } Funções de alta-ordem Resultado: [ IOS, ANDROID, WINDOWS PHONE ]