java中arrays
⑴ java語言里的Arrays有沒有縮寫
import java.util.*;
import java.util.*;
這樣寫簡潔,但是編譯速度慢,而且還容易混淆,不建議。
⑵ java中用Arrays sort()如何將字元串倒序排列如,將"abcdefg"排序為"gfedcba".
java中用arrays sort()方法將abcdefg倒序,可以先試用java的comparable介面先進行比較,然後排序,實例如下:
packagetest;
importjava.util.Arrays;
importjava.util.Comparator;
publicclassArraysort{
publicstaticvoidmain(String[]args){
Strings="a,b,c,d,e,f,g";
String[]strArr=s.split(",");
Arrays.sort(strArr,newcom());//排序
for(Stringstr:strArr){
System.out.print(str+",");
}
}
}
classcom<T>implementsComparator<T>{//對abcdefg進行比較大小,排序
publicintcompare(To1,To2){
inti=Integer.parseInt(String.valueOf(o1));
intj=Integer.parseInt(String.valueOf(o2));
if(i>j)return1;
if(i<j)return-1;
return0;
}
}
⑶ Java當中的Array和Arrays的區別到底是什麼
是兩個不同的類,Arrays貌似是個處理數組的工具類,至於Array真心沒用過,不過Array在reflect和sql包裡面有各有一個,前者應該是和反射有關,後者應該是和資料庫有關
⑷ JAVA中Arrays.sort()排序的原理是什麼
有的時候需要對數組里的element進行排序。當然可以自己編寫合適的排序方法,但既然java包里有自帶的Arrays.sort排序方法,在 數組元素比較少的時候為何不用?
Sorting an Array 1. 數字排序 int[] intArray = new int[] { 4, 1, 3, -23 };
Arrays.sort(intArray);
輸出: [-23, 1, 3, 4]
2. 字元串排序,先大寫後小寫 String[] strArray = new String[] { "z", "a", "C" };
Arrays.sort(strArray);
輸出: [C, a, z]
3. 嚴格按字母表順序排序,也就是忽略大小寫排序 Case-insensitive sort
Arrays.sort(strArray, String.CASE_INSENSITIVE_ORDER);
輸出: [a, C, z]
4. 反向排序, Reverse-order sort
Arrays.sort(strArray, Collections.reverseOrder());
輸出:[z, a, C]
5. 忽略大小寫反向排序 Case-insensitive reverse-order sort
Arrays.sort(strArray, String.CASE_INSENSITIVE_ORDER);
Collections.reverse(Arrays.asList(strArray));
輸出: [z, C, a]
java初學者最常見的錯誤思想,就是試圖去寫一些方法來完成數組的排序功能,其實,數組排序功能,在java的api裡面早已實現,我們沒有 必要去重復製造輪子。
Arrays類有一個靜態方法sort,利用這個方法我們可以傳入我們要排序的數組進去排序,因為我們傳入的是一個數組的引用,所以排序完成的 結果也通過這個引用的來更改數組.對於整數、字元串排序,jdk提供了默認的實現,如果要對一個對象數組排序,則要自己實現 java.util.Comparator介面。
packagecom.gjh.gee.arrays;
importjava.util.Arrays;
publicclassArraySortDemo{
publicvoidsortIntArray(){
int[]arrayToSort=newint[]{48,5,89,80,81,23,45,16,2};
System.out.println("排序前");
for(inti=0;i<arrayToSort.length;i++)
System.out.println(arrayToSort[i]);
//調用數組的靜態排序方法sort
Arrays.sort(arrayToSort);
System.out.println("排序後");
for(inti=0;i<arrayToSort.length;i++)
System.out.println(arrayToSort[i]);
}
publicvoidsortStringArray(){
String[]arrayToSort=newString[]{"Oscar","Charlie","Ryan",
"Adam","David"};
System.out.println("排序前");
for(inti=0;i<arrayToSort.length;i++)
System.out.println(arrayToSort[i]);
System.out.println("排序後");
//調用數組的靜態排序方法sort
Arrays.sort(arrayToSort);
for(inti=0;i<arrayToSort.length;i++)
System.out.println(arrayToSort[i]);
}
publicvoidsortObjectArray(){
Dogo1=newDog("dog1",1);
Dogo2=newDog("dog2",4);
Dogo3=newDog("dog3",5);
Dogo4=newDog("dog4",2);
Dogo5=newDog("dog5",3);
Dog[]dogs=newDog[]{o1,o2,o3,o4,o5};
System.out.println("排序前");
for(inti=0;i<dogs.length;i++){
Dogdog=dogs[i];
System.out.println(dog.getName());
}
Arrays.sort(dogs,newByWeightComparator());
System.out.println("排序後:");
for(inti=0;i<dogs.length;i++){
Dogdog=dogs[i];
System.out.println(dog.getName());
}
}
publicstaticvoidmain(String[]args){
ArraySortDemot=newArraySortDemo();
t.sortIntArray();
t.sortStringArray();
t.sortObjectArray();
}
}
⑸ java arrays問題
升序、還是降序,由這方法決定
public int compare(VLA2 a , VLA2 b){
return b.dishSize - a.dishSize;
}
⑹ java中的Array和Arrays兩個類什麼區別Collection和Collections什麼區別
這個啊
Array類主要提供了動態創建和訪問 Java 數組的方法。
Arrays包含用來操作數組(比如排序和搜索)的各種方法。此類還包含一個允許將數組作為列表來查看的靜態工廠。
Collections是個java.util下的類,它包含有各種有關集合操作的靜態方法。他提供一系列靜態方法實現對各種集合的搜索、排序、線程安全化等操作。
Collection是個java.util下的介面,它是各種集合結構的父介面 繼承與他的介面主要有Set 和List.
⑺ 數組的英文單詞是Array,為什麼Java中喜歡用Arrays來表示數組,這有什麼原因嗎
沒人用Arrays來代表數組,在Java中Arrays代表的是「數組操作類」。
同樣Collection代表集合,Collections代表「集合操作類」。
在Arrays中有許多操作數組的實用方法,如排序,填充,輸出,拷貝,二分查找,相等比較等。
⑻ java的Arrays類問題
可以使用StringUtils的join方法,最後得出的結果沒有【】,也沒有逗號。
Arrays. tostring方法源碼如下,會自動加上【】和逗號
⑼ java中arrays的用法
如果你問的是API的話,要注意,Java中是區分大小寫的,不存在arrays這么個類,而是Arrays,
並且全稱是java.util.Arrays,其文檔可在 http://download.oracle.com/javase/6/docs/api/ 參考,搜索Arrays你就找到了,不要懼怕英文,耐心看一下就搞明白了。
如果是問的數組(array),那麼:
第一,在Java中,數組是一種專門的類型,它是有序數據的集合,數組中的每個元素的數據類型都是相同的。
第二,對元素的確定是由數組名和它的下標實現的,這是和C/C++中的一樣的,比如a[0]代表數組a的第一個元素,a[1]代表數組a的第二個元素,依次類推。
第三,得說說數組的聲明方法,Java的數組聲明採用與C語言類似, 數組可分為一維數組和多維數組。聲明形式為: type arrayName [] [[]...]; 或:type [] [[]...] arrayName; 後邊這種方式是Java比較獨特的地方, 體現了Java的純面向對象的特徵。
第四,Java數組聲明中,不需要指明數組大小,這是因為數組聲明並未為數組元素分配存儲單元,要為數組元素分配存儲單元,必須顯示使用new運算符實現,這里就和C/C++有很大不同了。格式是: arrayName[][[]...] = new type [Size1][[Size2]...];
第五,聲明數組與為數組分配存儲單元兩部分,可以合在一起;上面舉例的就是和在一起的形式。如果要分開,就是寫兩成兩句:int numbers[]; numbers = new int[10]; 這看起來和C++很相似。
第六,對已經分配了存儲空間的數組(由new運算符實現),就可以對數組中的每一個元素引用。下標是放在數組名後面[]中的,通過對下標的操作來引用元素。我們可以賦值給元素,也可以使用元素的值,主要下標是從0開始的。
第七,Java中,對於每一個數組,都有一個屬性length,來指明數組的長度,這對於寫程序就很方便了。int count[] = new int [10]; 包括count[0] count[1] ... count[9] 那麼 count.length = 10
第八,在聲明數組時,也可以同時對數組進行初始化。它的一維形式如下:
type arrayName[] = {Value1, Value2, ... , ValueN};
例如:
float myf[] = {1,2,3,4,5,6}
int myint[][]={{1,2,3},{4,5,6}};
//int myint[][]=new myint[2][3];
與C或C++語言不一樣,Java對數組元素的下標要進行越界檢查,以確保數據的安全。
記住這8條,我相信你對數組就基本都掌握了。
好了,希望對你有所幫助,有問題隨時聯系我:)