【第22期】观点:IT 行业加班,到底有没有价值?

鸟哥Java学习之集合框架工具类--常用对象API

原创 2016年06月01日 21:27:09
1 Collections(操作集合的工具类)
排序
    sort方法
原理:泛型限定,可以对任何具有CompareTo方法的进行排序(接受Comparable及其子类,因为他们才具有CompareTo方法)
    还一种比较,带比较器:sort(list,new comparatorBylength())
    比较器comparatorBylength自己写的
package cn.itcast.toolclass.collections;
 
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
 
public class CollectionsDemo {
 
public static void main(String[] args) {
/*
* Collections:是集合框架的工具类,里面的方法都是静态的
*/
demo_1();
}
 
public static void demo_1(){
List<String> list = new ArrayList<String>();
list.add("abc");
list.add("rfhj");
list.add("tjyjhng");
list.add("abctt");
System.out.println(list);
//对list集合进行指定顺序排序
Collections.sort(list);
System.out.println(list);
//带比较器
Collections.sort(list, new ComparaByLength());
System.out.println(list);
 
}
}
package cn.itcast.toolclass.collections;
 
import java.util.Comparator;
 
public class ComparaByLength implements Comparator<String> {
 
@Override
public int compare(String o1, String o2) {
int temp = o1.length()-o2.length();
return temp==0?o1.compareTo(o2):temp;
}
 
}
折半查找:必须是有序的才能用 BinarySort()
最值:能够进行比较 max() min()
逆序:TreeSet<String> ts = new TreeSet<String>(Collections.reverseOrder());
        //TreeSet<String> ts = new TreeSet<String>(Collections.reverseOrder(new ComparaByLength()));
替换:Collections.replaceAll(list"abc""cba");
      fill():将集合中的值全部替换成同一值,可用于初始化
随机:shuffle():将集合中元素随机摆放,例如扑克牌洗牌
重点
将非同步集合转变为同步集合:synchronizedCollection()
synchronizedList(),synchronizedSet()
    原理:加锁

    建个工具类,把上面的类放进去成为内部类:
     同上

2.Arrays(操作数组的工具类)
sort()
equals()
deepequals()
fill()
toString()
package cn.itcast.toolclass.collections;
 
import java.util.Arrays;
 
public class ArraysDemo {
 
public static void main(String[] args) {
/*
* Arrays:是数组的工具类,里面的方法都是静态的
*/
int[] arr={3,5,8,8,0};
System.out.println(Arrays.toString(arr));
 
}
//toString经典实现
public static String toString(int[] a) {
if (a == null)
return "null";
int iMax = a.length - 1;
if (iMax == -1)
return "[]";
 
StringBuilder b = new StringBuilder();
b.append('[');
for (int i = 0; ; i++) { //中间省略条件判断,提高效率
b.append(a[i]);
if (i == iMax)
return b.append(']').toString();
b.append(", ");
}
}
 
}
重点:
    asList():将数组转成List集合,可用的方法多很多,用集合中方法操作数组。但是,集合中的增删方法不可,因为改变了数组长度,否则会发生异常。
   注意: 如果数组中的元素是对象,转成集合时,直接将数组中的元素作为集合中的元素存储
    如果数组中元素是基本数据类型数值,那么会将该数组作为集合中的元素存储,如下,如果是Integer[],输出[3,5,8,8,0]
 public static void demo(){
        int[] arr={3,5,8,8,0};      
        List<int[]> list = Arrays.asList(arr);
        System.out.println(list);
    } 
输出结果:[[I@15db9742] 

    集合转数组:将操作方法进行限定,不允许增删
            toArray():返回的数组中元素是Object
            toArray(数组):返回的数组中元素类型与传入一样
该方法需要传入一个指定类型的数组,大小怎么定义?
    如果长度小于集合,会创建一个同类型并和集合大小一致的数组,大于的话使用指定的数组,其他位置为null,建议设置与集合大小一致
   
版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

鸟哥Java学习之集合框架--常用对象API

1.集合:存储对象的容器     与数组差别:数组固定长度,集合可变长度;集合中不可以存储基本数据类型。          集合中的共性内容(框架的顶层)在Collection(接口...

SSH框架常用一些工具类整理

常用的一些工具类整理。与大家分享

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

鸟哥Java学习之集合框架工具类--常用对象API

1 Collections(操作集合的工具类) 排序     sort方法 原理:泛型限定,可以对任何具有CompareTo方法的进行排序(接受Comparable及其子类,因为他们才具有C...

我决定了,要做一个自己的MVC框架(主要整合自己常用的工具类)

1.主要整合自己常用的工具类(像分页,各种查询,插入,删除) 2.整合Hibernate 3.还想加入一些js,不知道合不合规范,平常常用的js验证,日历什么的 4.前辈们有什么建议?我现在水平有限啊(刚毕业,不过还是写过几个小项目的)。不过觉得整合一下还是挺有必要的。

JavaSe基础XX17——常用对象API-集合框架_5_ 工具类

null
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)