------- android培训、java培训、期待与您交流! ----------
1、集合框架工具类
Collections:集合框架的工具类。里面定义的都是静态方法。
Collections和Collection有什么区别?
Collection是集合框架中的一个顶层接口,它里面定义了单列集合的共性方法。
它有两个常用的子接口,
List:对元素都有定义索引。有序的。可以重复元素。
Set:不可以重复元素。无序。
Collections是集合框架中的一个工具类。该类中的方法都是静态的
提供的方法中有可以对list集合进行排序,二分查找等方法。
通常常用的集合都是线程不安全的。因为要提高效率。
如果多线程操作这些集合时,可以通过该工具类中的同步方法,将线程不安全的集合,转换成安全的。2、常常用到的方法有:
replaceAll() 使用另一个值替换列表中出现的所有某一指定值
fill() 使用指定元素替换指定列表中的所有元素
reverse() 反转元素
reverseorder() 强行逆转比较器
reverse()方法其实就是swap方法 swap方法就是替换两个角标的位置
shuffle()就是把集合内所有的元素进行随机的排序
2、Array是用于操作数组的工具类,里面也全部是静态的方法,直接可以用类名进行调用。
常用方法有:
deepEquals()深度比较,不光要比较数组还要比较数组中的内容
asList()是将数组变成一个list的集合
3、把数组变集合的好处:可以用集合中的思想和方法来操作数组中的元素
4、“UnsupportedOperationException”的意识是不支持的操作异常。
5、将数组变成集合和应该注意一点就是不可以使用集合中的增删方法因为数组中的长度是固定不变的,如果增删的话就会发生不支持的异常操作。
6、如果数组中的元素都是对象的话,那么变成集合时,数组中的元素就可以直接转成了集合中的元素。
7、如果数组中的元素全部是基本数据类型,那么会将数组作为集合中的元素存在。
8、指定类型的数组要定义多长?
当指定类型的数组小于了集合的size,那么该方法内就会常见一个新的数组,长度为集合的size
当指定类型的数组长度大于了集合的size 就不会创建新的数组而是使用传递进来的数组,所以创建一个刚刚好的数组为最优。
9、为什么要将集合变成数组?
其实就是为了限定对元素的操作,不需要进行增删操作。
10、数组变集合就是使用了Arrays中的asList方法。
11、高级for循环
格式:
for(数据类型变量名 :被遍历的集合(Collection)或者数组)
{
}
对集合进行遍历。
只能获取集合元素。但是不能对集合进行操作。
迭代器除了遍历,还可以进行remove集合中元素的动作。
如果是用ListIterator,还可以在遍历过程中对集合进行增删改查的动作。
传统for和高级for有什么区别呢?
高级for有一个局限性。必须有被遍历的目标。
建议在遍历数组的时候,还是希望是用传统for。因为传统for可以定义脚标。
12、可变的参数:其实就是简写形式,不用每一次都手动的建立数组对象,只要将要操作的元素作为参数传递就可以,隐式的将这些参数封装哼数组show(int…arg)可变参数
13、可变参数在使用的时候要注意:
可变参数要定义在参数列表的最后面。
14、StaticImport 静态导入。
当类名重名时,需要指定具体的包名。如果在导入包的时候,没有加入static导入的就全部类,加入static导入的是某一个类中的所有静态成员。