您的位置:首页 > 编程语言 > Java开发

JavaSE学习_11_Arrays_foreach_可变参数

2016-09-07 11:58 225 查看
1、数组工具类Arrays

Arrays里面封装了操作数组的一些方发:

1)Arrays.fill();可以向数组里面填充数据(可以指定范围填充)
2)Arrays.sort();可以对数组进行排序,这里要注意当对引用类型(比如Person)进行排序的时候要有两种方式

comparable:在要比较对象的类要实现此接口(即在本类中定义比较的规则,比如按照年龄比较)

comparator:单独定义一个比较器来对对象的某个属性进行比较,和comparable原理一样,只是没有定义的对象所在类中;而是单独创建一个类来实现此接口(此类即为比较器)详细可查询Arrays里面的sort方法的API

3)Arrays.copyOf()和System.arrayof()。如果要拷贝整个数组元素就用前者,若要选取范围拷贝数组就用后者

4)...

!!!!常用方法查询API

2、增强for循环(foreach)

用来遍历容器(数组,list,set-及所有iterable的子类型)对象的元素;

遍历:把容器里所有的元素拿出来

语法:
for(元素的类型   当前遍历的元素变量:容器对象){
 
}

总结:foreach用来快速遍历容器对象的元素的值

注意:注意遍历数组需要用到下标那么不能使用增强for

3、可变参数

可变参数是方法定义参数时使用一种特殊类型,对应的数组类型;

定义可变参数:1)必须是方法参数列表的最后一个位置

语法:元素的类型... 参数名

可变参数就是一个数组类型!

使用参数,方法调用:
1)传入数组
2)传入数组的0到多个元素通过逗号分割

test(1, 2, 3, 4);

test(new int[]{1, 2, 3, 4});

public void test(int... params) {

}

4、String和StringBuilder的互相转换
他们怎么互相转换:

String转换成StringBuilder,StringBuilder sb = new StringBuilder(str);

StringBuilder转换成String,String str = sb.toString();

String字符串:固定(不可变)字符串,存储字符内存不能更改。

StringBuilder 字符串:可变字符串,存储字符内容可以更,线程不安全(只能在单线程使用),效率比StringBuffer高。

StringBuffer 字符串:可变字符串,存储字符内容可以更改,线程安全(单线程多线程都可以使用),效率比StringBuilder低。

StringBuilder和StringBuffer APi基本相同;

StringBuilder线程不安全,效率高;StringBuffer线程安全,效率低。

!!!!常用方法,查看API

注意:StringBuilder字符串连接的两种方式:
1)+,如果是比较简单(两个相连)的就用,+没连接一次就会创建一个新的StringBuilder对象,效率低!!
2)append,始终只有一个对象,效率高!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐