Jump to content

Recommended Posts

Posted

Here is a Java program.  Please rewrite it in readable Groovy code.
 

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

 

public class PreScreening {

 

  public List run(int reviewDetailsPerPage, List<Map> reviewsList) {

    Map<String, List<Map>> groupedByFeatures = new HashMap();

    for (Map<String, String> review : reviewsList) {

      String feature = review.get("feature");

      List<Map> reviews = groupedByFeatures.get(feature);

      if (reviews == null) {

        reviews = new ArrayList();

      }

      reviews.add(review);

      groupedByFeatures.put(feature, reviews);

    }

 

    List groupedAndPaged = new ArrayList();

    for (Map.Entry<String, List<Map>> entry : groupedByFeatures.entrySet()) {

      List<Map> page = new ArrayList();

      int pageCounter = 0;

      for (Map<String, Object> review : entry.getValue()) {

        page.add(review);

        if (reviewDetailsPerPage == page.size()) {

          Map<String, Object> reviewDetail = new HashMap();

          reviewDetail.put("feature", entry.getKey());

          reviewDetail.put("page", pageCounter);

          reviewDetail.put("totalRecords", entry.getValue().size());

          reviewDetail.put("reviews", page);

          groupedAndPaged.add(reviewDetail);

          pageCounter++;

          page = new ArrayList();

        }

      }

    }

 

    return groupedAndPaged;

  }

 

  public static void main(String [] args) {

    PreScreening preScreening = new PreScreening();

 

    List<Map> input = new ArrayList();

 

    Map reviewOne = new HashMap();

    reviewOne.put("reviewId", "2874274");

    reviewOne.put("feature", "can use this product");

    input.add(reviewOne);

 

    Map reviewTwo = new HashMap();

    reviewTwo.put("reviewId", "3535533");

    reviewTwo.put("feature", "can use this product");

    input.add(reviewTwo);

 

    Map reviewThree = new HashMap();

    reviewThree.put("reviewId", "5839589");

    reviewThree.put("feature", "can not use this product");

    input.add(reviewThree);

 

    List<Map> output = preScreening.run(1, input);

 

    List<Map> expectedOutput = new ArrayList();

 

    Map<String, Object> reviewPageOne = new HashMap();

    reviewPageOne.put("feature", "can use this product");

    reviewPageOne.put("page", 0);

    reviewPageOne.put("totalRecords", 2);

    List<Map> reviewListOne = new ArrayList();

    reviewListOne.add(reviewOne);

    reviewPageOne.put("reviews", reviewListOne);

    expectedOutput.add(reviewPageOne);

 

    Map<String, Object> reviewPageTwo = new HashMap();

    reviewPageTwo.put("feature", "can use this product");

    reviewPageTwo.put("page", 1);

    reviewPageTwo.put("totalRecords", 2);

    List<Map> reviewListTwo = new ArrayList();

    reviewListTwo.add(reviewTwo);

    reviewPageTwo.put("reviews", reviewListTwo);

    expectedOutput.add(reviewPageTwo);

 

    Map<String, Object> reviewPageThree = new HashMap();

    reviewPageThree.put("feature", "can not use this product");

    reviewPageThree.put("page", 0);

    reviewPageThree.put("totalRecords", 1);

    List<Map> reviewListThree = new ArrayList();

    reviewListThree.add(reviewThree);

    reviewPageThree.put("reviews", reviewListThree);

    expectedOutput.add(reviewPageThree);

 

    if (!expectedOutput.equals(output)) {

      throw new AssertionError("Expected: " + expectedOutput + " is not equals to Actual: " + output);

    }

 

  }

}

 

Can anyone help me?

Posted

endhuku convert chedam anukuntunav .groovy lo idhe code rasi compile chesi run chesina avtundhi 

groovy ki java ki pedda diff em ledhu except syntax 

Posted
4 minutes ago, fake_Bezawada said:

endhuku convert chedam anukuntunav .groovy lo idhe code rasi compile chesi run chesina avtundhi 

groovy ki java ki pedda diff em ledhu except syntax 

 I think adi pre interview code test. But yeah  agree with what you told. 

Posted
19 minutes ago, fake_Bezawada said:

endhuku convert chedam anukuntunav .groovy lo idhe code rasi compile chesi run chesina avtundhi 

groovy ki java ki pedda diff em ledhu except syntax 

 

14 minutes ago, ICANWIN said:

 I think adi pre interview code test. But yeah  agree with what you told. 

Pre interview question. I have experience in java but not groovy. Interview vaste kurchoni nerchukovachu kani submission ki time ledu. Evaranna help chestaremo ani ikkada vesa. Thanks for the responses

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...