如我們有乙個類:
public classemployee
public string employeename
public
datetime birthdate
}我們要實現對arraylist中儲存的employee 進行查詢。先定義兩個列舉:
public enum下面是具體實現:memtype
;public enum
cmpoperator
public static int search(arraylist objarr, string valuetosearch, string fieldname, memtype memtype, cmpoperator comop)測試**如下:for (int i = 0; i < objarr.count; i++)
break;
case memtype.datetimetype:
switch (comop)
break;
case cmpoperator.greaterthan:
if (convert.todatetime(str).compareto(convert.todatetime(valuetosearch)) > 0)
break;
case cmpoperator.lessthan:
if (convert.todatetime(str).compareto(convert.todatetime(valuetosearch)) < 0)
break;
}break;
case memtype.integertype:
switch (comop)
break;
case cmpoperator.greaterthan:
if (convert.toint32(str) > convert.toint32(valuetosearch))
break;
case cmpoperator.lessthan:
if (convert.toint32(str) < convert.toint32(valuetosearch))
break;
}break;
case memtype.stringtype:
if (str.contains(valuetosearch))
break;}}
return -1;
}
static void main(string args)
對ArrayList的自定義元素進行排序
arraylist的sort icomparer 方法使用指定的比較器對整個arraylist中的元素進行排序。向arraylist中新增的自定義元素,當需要排序時,需要公開比較元素方法。以下是乙個例子。先宣告需要新增到arraylist的自定義元素型別one public class one 公開...
自定義實現ArrayList
package com.mylist public class myarraylist 返回list的大小 return public int size 判斷是否為空 return public boolean isempty 建立指定大小的list集合 param init public myar...
ArrayList實現自定義排序
arraylist中存在sort排序方法,只要你實現了comparator的介面,按照你自己的排序業務進行實現,你只要告訴這個介面按照什麼型別進行排序就ok了。這種方式類似於設計模式中的策略模式,把流程劃分好,具體的業務邏輯由使用者指定 實現 public class comparatortest ...