Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6920479
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 27, 20262026-05-27T10:09:09+00:00 2026-05-27T10:09:09+00:00

I have a list of java beans, now I want to sort them with

  • 0

I have a list of java beans, now I want to sort them with specified property and sort order
(the property and sort order are input parameters), like this:

class Person{
    private String userName;
    private Integer age;
    private String address; 

    public void sort(List<Person> ps, String property, String sortOrder)
    {
        // How to use the property and sortOrder??
        Collections.sort(ps);
    }
}

What is the best way of writing the sortList() method?
actually I have one way to do this. I can write two static properties for Person. then I set these two properties before sorting:

class Person implements Comparable<Person>{
    private String userName;
    private Integer age;
    private String address;
    public static String sortProperty;
    public static String sortOrder;

    public void sort(List<Person> ps, String property, String sortOrder)
    {
        Person.sortProperty=property;
        Person.sortOrder=sortOrder;

        Collections.sort(ps);
    }

    @Override
    public int compareTo(Person o)
    {
        // find the property with Person.sortProperty using reflection
        // then sort the property
    }
}

This is not a good solution. Could anyone give me some suggestion? thanks in advance

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-27T10:09:10+00:00Added an answer on May 27, 2026 at 10:09 am

    Hope this makes sense for you. Use final keyword to avoid creating static variable for passing sort order. Also changed it to boolean for easy access. Below code is just for illustration.

    public static void sort(List<Person> ps, String property, final boolean asc) {
    
      if (property.equals("userName")) {
        Collections.sort(ps, new Comparator<Person>() {
    
            public int compare(Person o1, Person o2) {
                // pls use appropriate compareTo I always get confused
                // which one to call when it is asc or desc.
                if (asc)
                    return o1.getUserName().compareTo(o2.getUserName());
                else
                    return o2.getUserName().compareTo(o1.getUserName());
            }
        });
      }
    
      if (property.equals("age")) {
        Collections.sort(ps, new Comparator<Person>() {
    
            public int compare(Person o1, Person o2) {
    
                if (asc)
                    return o1.getAge().compareTo(o2.getAge());
                else
                    return o2.getAge().compareTo(o1.getAge());
            }
        });
      }
    }
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have Java bean class and I want to sort list of these beans
In a Java program, I have a list of beans that I want to
So I have something like the following in Java: private List<SomeType>variable; // ....variable is
I have a List of Java objects on my server which is sent to
Possible Duplicate: Java - Regex problem I have list of URLs of types: http://www.example.com/pk/etc
I am trying to output some Java objects as JSON, they have List properties
I have sorted list of strings that I move between php and java. to
Say you have a linked list structure in Java. It's made up of Nodes:
I'm making a shopping list mobile application (Java ME) and i have two classes;
Simple question. I have a new list and an old list. In Java is

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.