Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JAVA中是否存在具有相同和不同值的排序数组?_Java_Arrays_Sorting - Fatal编程技术网

JAVA中是否存在具有相同和不同值的排序数组?

JAVA中是否存在具有相同和不同值的排序数组?,java,arrays,sorting,Java,Arrays,Sorting,列表未排序,但允许您存储相同的值。集合已排序,但不允许放置相同的vlue。什么数组同时提供两个属性:排序和存储相同的值 比如说 输入: 32,3,8,1,22,4,8,22 我可以在其中存储输入数据,如: 1, 3, 4, 8, 8, 22, 22, 32 ?这可以很容易地完成:您可以使用对实例进行排序-您现在有了一个已排序的集合,该集合还可以包含重复的值 List<Integer> myList = new ArrayList<>(); myList.add(32);

列表未排序,但允许您存储相同的值。集合已排序,但不允许放置相同的vlue。什么数组同时提供两个属性:排序和存储相同的值

比如说

输入:
32,3,8,1,22,4,8,22

我可以在其中存储输入数据,如:

1, 3, 4, 8, 8, 22, 22, 32

这可以很容易地完成:您可以使用对实例进行排序-您现在有了一个已排序的集合,该集合还可以包含重复的值

List<Integer> myList = new ArrayList<>();
myList.add(32);
myList.add(3);
myList.add(8);
myList.add(1);
myList.add(22);
myList.add(4);
myList.add(8);
myList.add(22);

System.out.println("Unsorted: " + myList);

Collections.sort(myList);

System.out.println("Sorted: " + myList);
List myList=new ArrayList();
myList.add(32);
添加(3);
myList.add(8);
添加(1);
myList.add(22);
添加(4);
myList.add(8);
myList.add(22);
System.out.println(“未排序:+myList”);
Collections.sort(myList);
System.out.println(“排序:“+myList”);

您可以使用普通的
ArrayList
实现,并使用以下命令进行排序:
Collections.sort(yourList)

我想您需要一个排序的多集。Java SE库不提供这样的类,但Guava库提供:

  • 接口
  • 基于树的实现

请注意,基于树的多集具有
O(logN)
操作,与
O(N)
相比,如果您试图保持常规列表或数组的有序性,则插入或删除操作更糟。

集通常不排序。Set是一个接口。SortedSet是一个排序集实现。您是指排序列表吗?