Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void go()
- {
- ArrayList<String> fruits = new ArrayList<>();
- fruits.add("pear");
- fruits.add("pineapple");
- fruits.add("oranges");
- fruits.add("banana");
- fruits.add("apple");
- for(String str: fruits)
- {
- if(str.contains("apple"))
- { /* I would like anything containing 'apple'
- * i.e. apple & pineapple to be placed on top of the array*/ }
- }
- for(String str: fruits)
- {
- System.out.println(str);
- }
- }
- List<String> apples = new ArrayList<>();
- List<String> nonApples = new ArrayList<>();
- for (String fruit : fruits) {
- if (fruit.contains("apple")) {
- apples.add(fruit);
- } else {
- nonApples.add(fruit);
- }
- }
- Collections.sort(apples);
- apples.addAll(nonApples);
- // apples now contains what you want. Of course, it's now misnamed :)
- List<String> result = new ArrayList<>(apples);
- Collections.sort(result);
- result.addAll(nonApples);
- for (int i = 0; i < result.size(); i++) {
- fruits.set(i, result.get(i));
- }
- Collections.sort(fruits, new Comparator<String>(){
- @Override
- public int compare(String arg0, String arg1) {
- if (arg0.contains("apple") && arg1.contains("apple")) {
- return arg0.compareTo(arg1);
- }
- else if (arg0.contains("apple") && !arg1.contains("apple")){
- return -1;
- }
- else if (!arg0.contains("apple") && arg1.contains("apple")){
- return 1;
- } else return 0;
- } });
- public class AppleStringComparator implements Comparator<String> {
- @Override
- public int compare(String o1, String o2) {
- if (o1.contains("apple")) {
- if (o2.contains("apple")) {
- return o1.compareTo(o2);
- } else {
- return -1;
- }
- } else {
- if (o2.contains("apple")) {
- return 1;
- } else {
- return 0;
- }
- }
- }
- }
- public class MainClass {
- public void go() {
- // The example code from the OP
- ArrayList<String> fruits = new ArrayList<>();
- fruits.add("pear");
- fruits.add("pineapple");
- fruits.add("oranges");
- fruits.add("banana");
- fruits.add("apple");
- Collections.sort(fruits, new AppleStringComparator());
- // Print out the result, for completeness' sake:
- System.out.println(fruits);
- }
- List<String> containingApple = new ArrayList<>();
- for (String s : list) {
- if (s.contains("apple")) {
- containingApple.add(s);
- }
- }
- Collections.sort(containingApple);
- List<String> result = new ArrayList<>(list.size());
- result.addAll(containingApple);
- for (String s : list) {
- if (!s.contains("apple")) {
- result.add(s);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement