in algorithms/collections-streams/java/src/main/java/com/epam/aicode/EcommerceSorting.java [11:50]
public static Map<String, BigDecimal> priceSorting(Map<String, BigDecimal> products, String sortingType) {
Map<String, BigDecimal> sortedMap = new java.util.LinkedHashMap<>();
java.util.List<java.util.Map.Entry<String, BigDecimal>> entryList = new java.util.ArrayList<>(products.entrySet());
java.util.List<java.util.Map.Entry<String, BigDecimal>> sortedEntryList = new java.util.ArrayList<>();
if (sortingType.equals("ASC")) {
for (int i = 0; i < entryList.size(); i++) {
java.util.Map.Entry<String, BigDecimal> entry = entryList.get(i);
if (sortedEntryList.isEmpty()) {
sortedEntryList.add(entry);
} else {
int index = 0;
for (int j = 0; j < sortedEntryList.size(); j++) {
if (entry.getValue().compareTo(sortedEntryList.get(j).getValue()) > 0) {
index++;
}
}
sortedEntryList.add(index, entry);
}
}
} else {
for (int i = 0; i < entryList.size(); i++) {
java.util.Map.Entry<String, BigDecimal> entry = entryList.get(i);
if (sortedEntryList.isEmpty()) {
sortedEntryList.add(entry);
} else {
int index = 0;
for (int j = 0; j < sortedEntryList.size(); j++) {
if (entry.getValue().compareTo(sortedEntryList.get(j).getValue()) < 0) {
index++;
}
}
sortedEntryList.add(index, entry);
}
}
}
for (int i = 0; i < sortedEntryList.size(); i++) {
sortedMap.put(sortedEntryList.get(i).getKey(), sortedEntryList.get(i).getValue());
}
return sortedMap;
}