I'm trying to sort a stream by an specific order by one of its fields.
Now I'm achieving this by converting streams to list and using a switch and then rejoining them into a list in the desired order.
    fruits.forEach(fruit -> {
                switch (fruit.getName()) {
                    case "Orange":
                        orangesList.add(fruit);
                        break;
                    case "Apple":
                        applesList.add(fruit);
                        break;
                    case "WaterMelon":
                        watermelonList.add(fruit);
                        break;
                    default:
                        otherFruits.add(fruit);
                        break;
                }
    });
    genericFruitList.addAll(0, orangeList);
    genericFruitList.addAll(1, applesList);
    genericFruitList.addAll(2, watermelonList);
    genericFruitList.addAll(3, otherFruits);
I wonder if there's any change to achieve this using stream sorted method and using a custom comparator or something like that.
Thanks in advance.