当前位置: 首页 > 知识库问答 >
问题:

按可比接口排序ArrayList

梁嘉澍
2023-03-14

实际上,我想对对象数组列表进行排序。我正在为此目的使用可比接口。它是完全有效的,但问题是,当我排序的时候,是给这两个问题。

>

  • 所有名字中有第一个字母大写的都在上面,所有名字中有第一个字母小写的都在下面。

    所有排序的大写字母单词都在一起,然后所有的小写字母单词都在一起。

       public class Myshares implements Comparable<Myshares> {
    
            int id, parent;
            String name, path, type, shared_with, shared_or_not, upload_request;
    
            public int getParent() {
                return parent;
            }
    
            public void setParent(int parent) {
                this.parent = parent;
            }
    
            public String getUpload_request() {
                return upload_request;
            }
    
            public void setUpload_request(String upload_request) {
                this.upload_request = upload_request;
            }
    
            public int getId() {
                return id;
            }
    
            public void setId(int id) {
                this.id = id;
            }
    
            public String getName() {
                return name;
            }
    
            public void setName(String name) {
                this.name = name;
            }
    
            public String getPath() {
                return path;
            }
    
            public void setPath(String path) {
                this.path = path;
            }
    
            public String getType() {
                return type;
            }
    
            public void setType(String type) {
                this.type = type;
            }
    
            public String getShared_with() {
                return shared_with;
            }
    
            public void setShared_with(String shared_with) {
                this.shared_with = shared_with;
            }
    
            public String getShared_or_not() {
                return shared_or_not;
            }
    
            public void setShared_or_not(String shared_or_not) {
                this.shared_or_not = shared_or_not;
            }
    
            @Override
            public int compareTo(Myshares another) {
    
                return this.name.compareTo(another.getName());
            }
    
        }
    

  • 共有1个答案

    卢磊
    2023-03-14

    如果您希望使用不区分大小写的排序,我建议更改compareto()方法,改为使用stringcomparetoignorecase()方法,即:

    public int compareTo(Myshares another) {
        return this.name.compareToIgnoreCase(another.getName());
    }
    
     类似资料:
    • 本文向大家介绍对比Java中的Comparable排序接口和Comparator比较器接口,包括了对比Java中的Comparable排序接口和Comparator比较器接口的使用技巧和注意事项,需要的朋友参考一下 Comparable Comparable 是排序接口。 若一个类实现了Comparable接口,就意味着“该类支持排序”。 即然实现Comparable接口的类支持排序,假设现在存在

    • 当我在浏览上面的接口时,在阅读了许多相同主题的站点后,我对这些接口的语法不是很清楚。 请考虑以下代码段: 如果每个查询都是可理解的。

    • 假设您有ClassA、ClassB、ClassC和InterfaceA。 ClassA和ClassB实现interfaceA,而classC包含一个列表

    • 我有一个程序可以对计算机的某个目录中的文件进行排序。我正在使用比较器接口和Collections.Sort-方法,但我无法访问调用类的输出。我也不知道如何在Sort-class中对对象进行排序。 1)如果有人能告诉我如何使用compare-method(prototyp是:sort(List List,Comparator c)我会很高兴

    • 我正试图根据员工的加入日期对他们的列表进行排序。下面是我的员工类。 下面是我的比较器类:

    • 问题内容: 我正在研究Go中一个简单的链表实现,以进行学习。元素的定义如下: 如您所见,Value可以是满足空接口的任何值。现在,作为一项新功能,我要进行创建,以便在将新元素插入列表时,它以排序方式插入-每个元素将是<=下一个元素。 为了做到这一点,我编写了以下方法: 编译器抱怨这是公平的。因此,我知道在Element typedef中,我应该将Value限制为可以使用运算符进行比较的类型。我在研