android集合排序
『壹』 android map是怎麼排序
java中的Map是個key-valus形式存儲的健值對介面。Map是個介面,因此不能實例化,不同的子類有不同的實現方式。
HashMap 無序的,通過hash演算法來(散列存儲)。
Hashtable 無序的,通過hash演算法來(散列存儲),與HashMap不同的是Hashtable 是同步的(線程安全的)。
LinkedHashMap 有序的,通過雙向鏈表來存儲數據。
TreeMap 排序的,通過Key來排序,排序規則會調用key的compareTo方法來計算。
『貳』 android studio 自動排序代碼快捷鍵
Android Studio常用快捷鍵
1. Ctrl+D: 集合了復制和粘貼兩個操作,如果有選中的部分就復制選中的部分,並在選中部分的後面
粘貼出來,如果沒有選中的部分,就復制游標所在的行,並在此行的下面粘貼出來。
2. Ctrl+空格: 輸入代碼時按此組合鍵會列出與之相匹配的類、方法名、成員變數等,起智能提示的作用。
在編輯XML文件一樣有用。
3. Ctrl+向下箭頭 或Ctrl+向上箭頭:在有自動匹配下拉列表時,此快捷鍵會自動關掉下拉列表,
游標移動到下/上一行。
4. 自動匹配下拉列表的排列方式的切換:在自動匹配下拉列表的右下角有個「π」圖標,點擊後可選
是按:實用性、字母兩種排列方式。
5. Ctrl+斜杠 、Ctrl+shift+斜杠:
Ctrl+斜杠:注釋或取消注釋當前行或選中的代碼塊,以雙斜杠的方式即「//」
Ctrl+shift+斜杠:注釋或取消注釋選中的代碼塊,以「/*……*/」方式注釋,
6. Ctrl+shift+Enter:自動匹配相對應的語法結構,比如if,do-while,try-catch等結構。
7. Ctrl+F:搜索
8. Ctrl+句點:在自動匹配下拉列表中,選中第一個item
9. 感嘆號:在自動匹配下拉列表中,上下鍵選中一個返回結果為boolean的item,按感嘆號會自動取反:
10. Ctrl+Enter :在自動匹配下拉列表中,在沒有選中的item時,默認選中第一個item。
11. Ctrl+shift+A:快速查找android studio中的菜單。
12. Ctrl+N:快速查找類名、文件
13. Ctrl+B:直接跳轉到類、方法、成員變數定義的地方。與Ctrl+滑鼠左鍵效果一樣
14. Ctrl+Alt+B:查詢有哪些類實現了游標所在的介面。
15. Ctrl+Alt+shift+I:檢測代碼,比如檢測一些定義了,但沒有使用過的變數或方法。檢測的目的是為了提高代碼效率。
16.Ctrl+Alt+shift+N :快速打開輸入的方法或變數。
17.Ctrl+shift+F7:以高亮的形式標志處一些相關的東西,這里主要由三種情況:1.游標的位置在implement時,
會把類實現了介面的方法名給標志出來;2.游標的位置在return時,會標志出方法的所有退出的地方;
3.游標在try或者throws關鍵字處時,會標志出會產生異常的語句。
18.shift+滑鼠滾動:可實現編輯界面的橫向滾動。
19.Ctrl+Alt+V:調用方法時傳入的參數是比較復雜的表達式時,可用此組合鍵重構變數,以簡化代碼的復雜度。
在組合鍵之前要先選中表達式。
20. Ctrl+D:比較兩個jar文件,在同一工程中,選中兩個jar文件,按此組合鍵
21.Ctrl+O:子類想重寫父類的方法時,按此組合鍵可顯示所有父類的方法。介面對應的組合鍵時Ctrl+I。
22.Ctrl+shift+I:快速查看方法體,想查看一個方法是如何實現的,可把游標移至方法處,按此組合鍵。
23.Ctrl+Q:把游標移至方法處,按此組合鍵可快速查看方法的說明文檔。
24.Ctrl+~:切換編輯界面的風格,快捷鍵設計
25.Alt+shift+C:查看工程的最近修改。
26.Ctrl+E:快速查看最近打開打開過的文件。
27.shift+F6:可對類、方法、變數進行重命名,使用的地方會自動更新名字。
28.Alt+F1:快速打開project view、structure view 等查看相應的元素。
29.Ctrl+Alt+F7:查看一個類、方法、成員變數在整個工程中的使用情況。
30.Ctrl+shift+空格:在賦值或者是在方法中要傳入參數時,列出類型匹配的方法名、成員變數名。
31.Ctrl+Alt+T:選中一塊代碼,按此組合鍵,可快速添加if 、for、try/catch等語句。
32.Ctrl+Tab:打開界面切換窗口,保持按住Ctrl鍵,選中相應的要打開的窗口。
33.Ctrl+W:選中游標所在的所在的單詞(一個成員變數或者是一個方法名),多按一次會選中所在的語句,
再多按一次會選中所在的代碼塊。。。依次類推,每增加一次會擴大一級選中的范圍。
『叄』 如何對一個集合中的成員進行排序
java中對集合排序,可以使用Collections.sort來進行排序,可以對中文、字母、數字進行排序,當比較的是對象時候,讓該類實現comparable介面,示例如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Collections.sort(dataMap, new Comparator<Map<String, Object>>() {
//排序介面實現方法
@Override
public int compare(Map<String, Object> lhs, Map<String, Object> rhs) {
switch (whichsort) {
case System_OpenPosition_Sort_Currency:
String d2 = ((String) rhs.get(Instrument));
String d1 = (String) lhs.get(Instrument);
if (d2 != null && d1 != null) {
int flag = d1.compareTo(d2);
if (flag == 0) {
Double d3 = ((Double) rhs.get(OpenPrice));
Double d4 = (Double) lhs.get(OpenPrice);
if (d3 != null && d4 != null) {
int flag2 = d4.compareTo(d3);
if (flag2 == 0) {
String d5 = ((String) rhs.get(BuySell));
String d6 = (String) lhs.get(BuySell);//文字排序
if (d5 != null && d6 != null) {
return d6.compareTo(d5);//返回一個int類型,用來判斷是否大於、小於還是等於
}
}
return d4.compareTo(d3);
}
} else {
return flag;
}
// return d1.compareTo(d2);
}
『肆』 Android開發 HashMap如何排序
HashMap排序是數據結構與演算法中常見的一種排序演算法。本文即以Android平台為例來實現該演算法。
具體代碼如下: public static void main(String[] args) { Map<String, Integer> map = new HashMap<String, Integer>(); map.put("lisi", 5); map.put("lisi1", 1); map.put("lisi2", 3); map.put("lisi3", 9); List<Map.Entry<String, Integer>> infoIds = new ArrayList<Map.Entry<String, Integer>>( map.entrySet()); System.out.println("--------------排序前--------------"); for (int i = 0; i < infoIds.size(); i++) { String id = infoIds.get(i).toString(); System.out.println(id); } // 排序 Collections.sort(infoIds, new Comparator<Map.Entry<String, Integer>>() { public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) { return ( o1.getValue()-o2.getValue()); } }); System.out.println("--------------排序後--------------"); for (int i = 0; i < infoIds.size(); i++) { Entry<String,Integer> ent=infoIds.get(i); System.out.println(ent.getKey()+"="+ent.getValue()); }}
『伍』 android中怎麼把list中內容按a-z排序
PinyinComparator介面用來對ListView中的數據根據A-Z進行排序,前面兩個if判斷主要是將不是以漢字開頭的數據放在後面
package com.example.sortlistview;
import java.util.Comparator;
/**
*
* @author xiaanming
*
*/
public class PinyinComparator implements Comparator<SortModel> {
public int compare(SortModel o1, SortModel o2) {
//這里主要是用來對ListView裡面的數據根據ABCDEFG...來排序
if (o2.getSortLetters().equals("#")) {
return -1;
} else if (o1.getSortLetters().equals("#")) {
return 1;
} else {
return o1.getSortLetters().compareTo(o2.getSortLetters());
}
}
}
『陸』 android listviewadapter 怎麼進行排序
代碼片段如下
privatevoidsortInfo(){
Comparator<InfoTmp>itemComparator=newComparator<InfoTmp>(){
publicintcompare(InfoTmpinfo1,InfoTmpinfo2){
returninfo1.getAge().compareTo(info2.getAge());
}
};
Collections.sort(mProfileList,itemComparator);
}
[java]viewplain
{
privateContextmContext;
privateList<InfoTmp>mUserList;
publicUserListAdapter(Contextcontext,List<InfoTmp>users){
mContext=context;
mUserList=users;
}
publicintgetCount(){
returnmUserList.size();
}
publicObjectgetItem(intposition){
if(position>=mUserList.size()){
returnnull;
}
returnmUserList.get(position);
}
publiclonggetItemId(intposition){
returnposition;
}
publicViewgetView(intposition,ViewconvertView,ViewGroupparent){
LayoutInflaterinflater=LayoutInflater.from(mContext);
convertView=inflater.inflate(R.layout.user_item,null);
TextViewtext=(TextView)convertView.findViewById(R.id.text);
ImageViewicon=(ImageView)convertView.findViewById(R.id.icon);
ImageButtonbtnEdit=(ImageButton)convertView.findViewById(R.id.edit);
ImageButtonbtnDel=(ImageButton)convertView.findViewById(R.id.delete);
//......
returnconvertView;
}
}
[java]viewplain
privatevoidrefreshAdapter(){
//......
sortInfo();
mListVew.setAdapter(newUserListAdapter(mContext,mProfileList));
}
『柒』 Android中怎麼排序日期和時間
時間排序,方法很多,以下提供幾種常用的方法。
轉化成long類型進行對比。
通過Collections.sort()方法進行排序。
【原理】
主要是通過把時間轉化成一些可以對比的數據類型進行排序對比。
【詳細方式或原理】
轉化成long類型進行對比
轉化代碼:
StringsDt="08/31/200621:08:00";
SimpleDateFormatsdf=newSimpleDateFormat("MM/dd/yyyyHH:mm:ss");
Datedt2=sdf.parse(sDt);
//繼續轉換得到秒數的long型
longlTime=dt2.getTime()/1000;
把需要對比的時間轉化成long類型進行對比。
2.通過Collections.sort()方法進行排序
Collections.sort()是java提供的官方排序方式。適合多類型排序。
詳細的對比代碼如下:
一般情況下要重寫下Comparator 介面。
importjava.util.Comparator;
{
@Override
publicintcompare(Objectlhs,Objectrhs){
//時間對比
numa=(num)lhs;
numb=(num)rhs;
return(b.getCount()-a.getCount());
}
}
然後在排序的地方進行使用
Comparatorcomp=newSortComparator();
Collections.sort(list,comp);
【最後】
如果數據類型復雜推薦使用方法二,如果類型簡單推薦使用方法一。
『捌』 如何對List集合中的數據進行排列
方法一:實現Comparable介面排序package collsort.comparable;
package com.cvicse.sort.comparable;
public class Cat implements Comparable<Cat> {
private int age;
private String name;
public Cat(int age, String name) {
this.age = age;
this.name = name;
}
public int getAge() {
return age;