Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //TODO: prettify me beacuse there are two simmilar methods
- private List<Article.Feature> getTopThreeFeatures(FeatureStatistics stats) {
- Map<Article.Feature, Integer> searchCounts = stats.getSearchCounts();
- Map<Article.Feature, Integer> topThreeFeatures = new HashMap<>();
- int highestValue = 0;
- Article.Feature highestFeature = null;
- int topThreeCounter = 3;
- while ((topThreeCounter > 0) && (searchCounts.size() > 0)) {
- for (Map.Entry<Article.Feature, Integer> entry : searchCounts.entrySet()) {
- if (entry.getValue() > highestValue) {
- highestFeature = entry.getKey();
- highestValue = entry.getValue();
- }
- }
- if (highestFeature != null) {
- topThreeFeatures.put(highestFeature, highestValue);
- }
- searchCounts.remove(highestFeature);
- highestFeature = null;
- highestValue = 0;
- topThreeCounter--;
- }
- ArrayList<Article.Feature> features = new ArrayList<>();
- for (Map.Entry<Article.Feature, Integer> entry : topThreeFeatures.entrySet()) {
- features.add(entry.getKey());
- }
- return features;
- }
- private List<Article.SideOrder> getTopThreeSideOrders(SideOrderStatistics stats) {
- Map<Article.SideOrder, Integer> searchCounts = stats.getSearchCounts();
- Map<Article.SideOrder, Integer> topThreeSideOrders = new HashMap<>();
- int highestValue = 0;
- Article.SideOrder highestSideOrder = null;
- int topThreeCounter = 3;
- while ((topThreeCounter > 0) && (searchCounts.size() > 0)) {
- for (Map.Entry<Article.SideOrder, Integer> entry : searchCounts.entrySet()) {
- if (entry.getValue() > highestValue) {
- highestSideOrder = entry.getKey();
- highestValue = entry.getValue();
- }
- }
- if (highestSideOrder != null) {
- topThreeSideOrders.put(highestSideOrder, highestValue);
- }
- searchCounts.remove(highestSideOrder);
- highestSideOrder = null;
- highestValue = 0;
- topThreeCounter--;
- }
- ArrayList<Article.SideOrder> sideOrders = new ArrayList<>();
- for (Map.Entry<Article.SideOrder, Integer> entry : topThreeSideOrders.entrySet()) {
- sideOrders.add(entry.getKey());
- }
- return sideOrders;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement