黑马程序员_JAVA集合框架的工具类:Collections、Arrays
来源:互联网 发布:51单片机入门 编辑:程序博客网 时间:2024/05/21 16:33
1、Collections操作集合:查找、替换、排序等方法
class Test11{
public static void main(String[] args){
sortDemo();
}
public static void sortDemo(){
List<String> list = new ArrayList<String>();
list.add("adcd");
list.add("aaa");
list.add("z");
list.add("kkkkk");
list.add("qq");
list.add("z");
sop(list);
Collections.swap(list, 1, 2);//将集合中的位置1和位置2的元素互换一下
Collections.shuffle(list);//将集合中的元素按随机的方式进行排列
int index = Collections.binarySearch(list,"aaaa");//如果未找到,那么查询到的输出结果为自然排序后的-(插入点)-1
sop("index="+index);
Collections.replaceAll(list, "aaa", "pp");//替换元素,即将aaa替换成pp
sop(list);
Collections.reverse(list);//反转
sop(list);
sop("没有排序:"+list);
Collections.sort(list);//自然排序,只能给list排序,不能给set排序
sop("自然排序:"+list);
Collections.sort(list,new straLenComparator());//利用比较器比较
sop("比较器的排序:"+list);
String max = Collections.max(list);//获取最大的
String max2 = Collections.max(list,new straLenComparator());//根据比较器的排序获取最大的
sop("max="+max);
sop("max2="+max2);
Collections.fill(list, "pp");//将集合中的所有元素替换成pp
sop(list);
}
public static void sop(Object obj){
System.out.println(obj);
}
}
class straLenComparator implements Comparator<String>{
public int compare(String s1,String s2){
if(s1.length()>s2.length())
return 1;
if(s1.length()<s2.length())
return -1;
return s1.compareTo(s2);
}
}
Collections.reverseOrder()反转
class StrLenComparator implements Comparator<String>{
public int compare(String s1,String s2){
if(s1.length()>s2.length())
return 1;
if(s1.length()<s2.length())
return -1;
return s1.compareTo(s2);
}
}
class Test11{
public static void main(String[] args){
TreeSet<String> ts = new TreeSet<String>(Collections.reverseOrder());//逆向排序
ts.add("abcde");
ts.add("aaa");
ts.add("kkk");
ts.add("cccc");
Iterator it = ts.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
System.out.println("*************");
TreeSet<String> ts2 = new TreeSet<String>(Collections.reverseOrder(newStrLenComparator()));//逆向排序
ts2.add("abcde");
ts2.add("aaa");
ts2.add("kkk");
ts2.add("cccc");
Iterator it2 = ts2.iterator();
while(it2.hasNext()){
System.out.println(it2.next());
}
}
}
2、Arrays:用于操作数组的工具类,里面都是静态方法
* Arrays.asList:将数组变成list集合
* 把数组变成list集合有什么好处?
* 可以使用集合的思想和方法来操作数组中的元素
* 注意:将数组变成集合,不可以使用集合的增删方法。
* 因为数组的长度是固定的
* 如果你增删,那么会发生UnsupportedOperationException
*
* 如果数组中的元素都是对象,那么当变成集合时,数组中的元素就直接转成集合的元素
* 如果数组中的元素都是基本数据类型,那么会将该数组作为集合中的元素存在
* int[] nums = {2,4,5};
* List<int[]> li = Arrays.asList(nums);
* Integer[] nums = {2,4,5};
* List<Integer> li = Arrays.asList(nums);
*/
class Test11{
public static void main(String[] args){
int[] arr = {2,4,5};
System.out.println(Arrays.toString(arr));
//把数组变成list集合有什么好处?
String[] arr2 = {"abc","cc","kkkk"};
List<String> list = Arrays.asList(arr2);
sop("contains:"+list.contains("cc"));
list.add("qq");//UnsupportedOperationException
sop(list);
}
public static void sop(Object obj){
System.out.println(obj);
}
}
- 黑马程序员_JAVA集合框架的工具类:Collections、Arrays
- 黑马程序员--泛型、集合框架工具类:collections和Arrays
- 黑马程序员——集合、集合框架工具类(collections和Arrays)和其他对象
- 黑马程序员-----collections集合框架工具类和Arrays数组工具类
- 黑马程序员---java----集合框架工具类:collections,Arrays和一些类
- 黑马程序员——Java基础---泛型、集合框架工具类:collections和Arrays
- 黑马程序员-day17-集合框架中的工具类(Collections和Arrays)
- 黑马程序员 java 基础 毕向东 面向对象 集合框架 工具类 Collections and Arrays
- 黑马程序员——Java基础--集合框架工具类:Collections、Arrays、其他对象
- 黑马程序员——Java基础---泛型、集合框架工具类:collections和Arrays
- Java基础---泛型、集合框架工具类:collections和Arrays (黑马程序员)
- 黑马程序员——Java基础---泛型、集合框架工具类:collections和Arrays
- 黑马程序员——Java语言基础:集合框架(Collection、Map,工具类Collections、Arrays)
- 黑马程序员——Java基础---集合框架(二)及工具类Collections、Arrays
- 黑马程序员——Java之集合框架工具类Collections、Arrays以及Java新特性
- 黑马程序员----集合工具类(Arrays和Collections)
- 黑马程序员——集合框架类(Collections、Arrays)
- 黑马程序员——Java集合框架(三)之Map集合、Collections与Arrays工具类
- 反输出链表
- 黑马程序员--网络传输
- edgesForExtendedLayout
- 穷游网CTO黄向阳:一个技术团队就像一个UGC社区
- Welcome to Swift
- 黑马程序员_JAVA集合框架的工具类:Collections、Arrays
- 60个开发者不容错过的免费资源库
- 在线客服系统
- yyck节彰剿何贸沃按gaihe
- HDU 3911 Black And White 分段树 题解
- 2D动画(1)
- VC post表单
- Linux+MySQL+IDEA+DDD+MVC+Spring+Ibatis+Paoding-rose+Velocity+Maven+Git问题记录
- 随笔