for loop - How can I simplify my Java code? -


i new java , stuck on following assignment. i've been asked create method in addressbook class returns person object highest total activitylevel.

i have created getsocialmediaactivitylevel(), maxvalue() , findmostsocial() methods.

the findmostsocial method return value after, description assignment includes statement: "requires design simple algorithm , integrate existing classes." seems i've used lot of unnecessary code, i'm unsure how simplify i've done. appreciated.

public class socialmediaaccount {     private string userid;     private string websitename;     private string websiteurl;     private int activitylevel;       public socialmediaaccount(string userid, string websitename, string websiteurl, int activitylevel) {         this.userid = userid;         this.websitename = websitename;         this.websiteurl = websiteurl;         this.activitylevel = activitylevel; }     public void addsocialmediaaccount(string userid, string websitename, string websiteurl, int activitylevel) {         socialmediaaccount account1;           account1 = new socialmediaaccount(userid, websitename, websiteurl, activitylevel);         socialmediaaccounts.add(account1);  

}

  import java.util.arraylist;   public class person {       private string firstname;       private string surname;       private string mobile;       private string email;       private arraylist<socialmediaaccount> socialmediaaccounts;  //returns combined activitylevel person's socialmediaaccounts.     public int getsocialmediaactivitylevel(){         int total = 0;             for(socialmediaaccount e : socialmediaaccounts){                 total += e.getactivitylevel();             }            return total; 

}

import java.util.arraylist; import java.util.collections; public class addressbook {     private arraylist<person> contacts;      public addressbook(){         contacts = new arraylist<>();         }   //returns highest combined activitylevel in arraylist contacts       public int maxvalue(){           arraylist<integer> maxactivitylevel = new arraylist<>();               for(person e : contacts){                   maxactivitylevel.add(e.getsocialmediaactivitylevel());               }           int maxvalue = collections.max(maxactivitylevel);          return maxvalue;       }   //returns person object in contacts arraylist highest combined activitylevel       public person findmostsocial(){           for(person p: contacts){               if(maxvalue() == p.getsocialmediaactivitylevel()){                   return p;               }             }       return null;      } 

i think need here quick sort algorithm here determine max value of social media activity in list of persons. so, suggest replace maxvalue() , findmostsocial() methods method implementing quicksort. here 1 such implementation reference. cheers


Comments

Popular posts from this blog

inversion of control - Autofac named registration constructor injection -

verilog - Systemverilog dynamic casting issues -

ios - Change Storyboard View using Seague -