Int类型怎么无规则排序java
时间: 2023-05-11 21:06:03 浏览: 100
在Java中,Int类型的排序可以使用Arrays.sort()方法进行排序,但是如果要进行无规则排序,需要使用Collections.shuffle()方法来打乱数组的顺序。可以使用以下代码实现:
int[] arr = {1, 2, 3, 4, 5};
List<Integer> list = Arrays.stream(arr).boxed().collect(Collectors.toList());
Collections.shuffle(list);
int[] shuffledArr = list.stream().mapToInt(Integer::intValue).toArray();
这样就可以实现Int类型的无规则排序了。
相关问题
java枚举类型赋值int类型的val,进行优先级排序
对于Java的枚举类型,可以通过实现`Comparable`接口来指定枚举的排序规则。下面给出一个例子:
```java
public enum MyEnum implements Comparable<MyEnum> {
A(1),
B(2),
C(3);
private int val;
MyEnum(int val) {
this.val = val;
}
public int getVal() {
return this.val;
}
@Override
public int compareTo(MyEnum o) {
return Integer.compare(this.val, o.val);
}
}
```
在这个例子中,我们定义了一个枚举类型`MyEnum`,每个枚举值都有一个对应的`val`属性。我们实现了`Comparable`接口,并重写了其中的`compareTo`方法,用于指定枚举值的排序规则。在这个例子中,我们通过比较对应的`val`属性来确定枚举值的优先级。
使用的时候,我们可以将枚举值放到一个数组中,然后使用`Arrays.sort`方法对数组进行排序,就可以按照指定规则对枚举值进行排序了。例如:
```java
MyEnum[] arr = {MyEnum.C, MyEnum.B, MyEnum.A};
Arrays.sort(arr);
for (MyEnum e : arr) {
System.out.println(e);
}
```
输出结果为:
```
A
B
C
```
可以看到,按照`val`属性的大小,枚举值被正确地排序了。
java类数组通过类中int变量对类排序
可以使用Java中的Arrays.sort()方法来对类数组进行排序。假设类中有一个名为"num"的int变量,我们可以通过实现Comparable接口来指定排序规则。具体步骤如下:
1. 在类中实现Comparable接口,并重写compareTo()方法。
```java
public class MyClass implements Comparable<MyClass> {
private int num;
// 构造函数和其他属性方法省略
@Override
public int compareTo(MyClass o) {
return Integer.compare(num, o.num);
}
}
```
2. 在排序时调用Arrays.sort()方法。
```java
MyClass[] array = new MyClass[10];
// 对数组进行赋值
Arrays.sort(array);
```
这样就可以通过类中的int变量对类数组进行排序了。需要注意的是,如果类中有多个int变量需要排序,则需要在compareTo()方法中指定排序规则。
阅读全文