以下是用Java编写判断数据序列稳定性的代码:
```
public static boolean isStable(int[] arr) {
// 创建一个二维数组,第一维存放数值,第二维存放下标
int[][] pairs = new int[arr.length][2];
// 初始化二维数组
for (int i = 0; i < arr.length; i++) {
pairs[i][0] = arr[i];
pairs[i][1] = i;
}
// 对数值进行排序,使用冒泡排序
for (int i = 0; i < pairs.length; i++) {
for (int j = i + 1; j < pairs.length; j++) {
if (pairs[i][0] > pairs[j][0]) {
int tempValue = pairs[i][0];
int tempIndex = pairs[i][1];
pairs[i][0] = pairs[j][0];
pairs[i][1] = pairs[j][1];
pairs[j][0] = tempValue;
pairs[j][1] = tempIndex;
}
}
}
// 判断排序后的数组是否稳定
for (int i = 0; i < pairs.length - 1; i++) {
if (pairs[i][0] == pairs[i + 1][0] && pairs[i][1] > pairs[i + 1][1]) {
return false;
}
}
return true;
}
```
该方法接收一个整型数组作为参数,首先将数组的元素以及对应下标存放在一个二维数组中,并对数值进行冒泡排序,排序后再遍历数组,如果排序后相邻元素数值相等且下标不符合稳定性的定义,则说明数组不稳定,否则说明数组稳定。