本文目錄一覽:
- 1、java 數組順序排列
- 2、java對象數組排序中如何讓性別為女的排在前面
- 3、java 如何對對象進行排序
- 4、在java編程中如何對數組進行排序,並輸出排序後的數組及原數組下標值
- 5、JAVA 數組中的元素是對象,如何給對象排序
java 數組順序排列
首先,API裡面寫了: Sorts the specified array of ints into ascending numerical order.
就是這是個升序!
其次,你這個運行應該不會報錯,輸出的會是 數組地址,因為數組在java裡面是一個對象,如果要看排序的結果,需要遍歷下:
比如
for(int i:arr){
System.out.println(i);
}
java對象數組排序中如何讓性別為女的排在前面
可以使用if判斷的方法來將性別為女的排在前面,Java是一門面向對象的編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。
java 如何對對象進行排序
糾正幾點錯誤:
首先TreeSet就是一個二叉樹排序容器,由用戶定義對象比較規則,然後接口回調進行排序,也就是說當對象在add到容器後實際上已經按照你定義的排序規則排序完畢了,所以你也沒有必要再單獨寫一個排序方法。
如果你想單獨寫一個排序算法,傳送TreeSet()這樣已經排序完畢的容器當然是多此一舉的。 你可以用List保存你的對象,這樣容器保存的就是原始的對象集合(按add()的先後順序排序),這樣才能真正發揮排序方法的功能.
其次,你的冒泡排序算法是按照價格從小到大的,而你add對象的時候就是從小到大的,所以一直沒有滿足if(iArr[j].price iArr[j+1].price) { 這個條件,可以把號改成號,或者打亂add的順序,這樣就能看出效果。
另外從容器內取元素應該用循環,而不應該寫死。你應該知道,所以程序我也沒修改~
下面的程序在原作上面稍微修改了一下,自己可以比較一下區別
package cn.com.csuinfo.Mycollec;
import java.util.ArrayList;
import java.util.List;
public class TestMySort {
public void BubbleSort(ListCar list) {
Car c1;
Car c2;
Car c3;
Car c4;
c1 = list.get(0);// 將set中的元素一個個取出來,再存入Car數組中
c2 = list.get(1);
c3 = list.get(2);
c4 = list.get(3);
Car[] iArr = { c1, c2, c3, c4 }; // 數組中存放了Car類型的四個對象
Car tmp = null;
int len = list.size();
for (int i = 0; i len – 1; i++) {// 對數組中的對象按屬性值price的大小進行排序
for (int j = 0; j len – 1 – i; j++) {
if (iArr[j].price iArr[j + 1].price) {
tmp = iArr[j];
iArr[j] = iArr[j + 1];
iArr[j + 1] = tmp;
System.out.println(“change”);// 測試之注意!:程序沒執行到此來???
}
}
}
for (Car car : iArr) {
System.out.println(car);
}
}
public static void main(String[] args) {
ListCar list = new ArrayListCar();
Car car1 = new Car(“Ford”, 164000);
Car car2 = new Car(“Honda”, 286000);
Car car3 = new Car(“Toyota”, 410000);
Car car4 = new Car(“Benz”, 850000);
list.add(car1);
list.add(car2);
list.add(car3);
list.add(car4);
System.out.println(“***********************“”);
new TestMySort().BubbleSort(list);
}
}
在java編程中如何對數組進行排序,並輸出排序後的數組及原數組下標值
java變成對數組進行排序可以使用ArraySort方法,保存源數組下標值可以存入map中,如下代碼:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
public class ceshi {
public static void main(String[] args) {
int n = 5;
int[] a = { 8, 5, 4, 6, 2, 1, 7, 9, 3 };
HashMap map = new HashMap();
for (int i = 0; i a.length; i++) {
map.put(a[i], i); // 將值和下標存入Map
}
// 排列
List list = new ArrayList();
Arrays.sort(a); // 升序排列
for (int i = 0; i a.length; i++) {
list.add(a[i]);
}
for (Object object : list) {
System.out.print(object + “,”);
}
System.out.println();
// 查找原始下標
for (int i = 0; i n; i++) {
System.out.print(map.get(a[i]) + “,”);
}
}
}
運行結果如下:
JAVA 數組中的元素是對象,如何給對象排序
寫那麼麻煩幹什麼呢,看我的!
Book[] books = { new Book(“j2me”,12), new Book(“j2se”,5), new Book(“j2ee”,22) };
Arrays.sort (books, new ComparatorBook ()
{
@Override
public int compare ( Book o1, Book o2 )
{
if (o1.getPrice() o2.getPrice() )
{
return 1;
}
else if (o1.getPrice() o2.getPrice() )
{
return -1;
}
else
{
return 0;
}
}
});
原創文章,作者:EAIR,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/139099.html