黑马程序员技术交流社区
标题:
毕老师学习笔记之泛型3
[打印本页]
作者:
骑着毛驴去赶
时间:
2014-3-16 22:13
标题:
毕老师学习笔记之泛型3
4.Collections.fill(list,"替换后的值"); //此方法可以将list中的所有的值替换成指定的值
实例:
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
* 使用Collections.fill()方法实现集合元素的替换操作
* @author lenovo
*
*/
public class CollectionsFillDemo
{
public static void main(String[] args)
{
collectionsFillMethod();
}
public static void collectionsFillMethod()
{
List<String> list = new ArrayList<String>();
list.add("aaaa");
list.add("cedsg");
list.add("bsbd");
list.add("sbd");
list.add("fbd");
list.add("aa");
sop("排序前:"+list);
Collections.max(list);
sop("排序后:"+list);
Collections.fill(list,"aa");
sop("替换后:"+list);
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
小练习:利用Collections.fill()方法替换集合中的指定元素?
复制代码
5.Collections.replaceAll(list,oldValue,newValue);//此方法可以将集合中的oldValue的值
替换成newValue
实例:
public class CollectionsRepleaceAllDemo
{
public static void main(String[] args)
{
collectionsReplaceAllMethod();
}
public static void collectionsReplaceAllMethod()
{
List<String> list = new ArrayList<String>();
list.add("aaaa");
list.add("cedsg");
list.add("bsbd");
list.add("sbd");
list.add("fbd");
list.add("aa");
list.add("aa");
list.add("aa");
sop("替换前:"+list);
Collections.replaceAll(list,"aa","zzzz");
sop("替换后:"+list);
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
复制代码
6.Collections.reverse(list);//该方法可以实现将list集合中的元素进行反转
实例:
public class CollectionsReverseDemo
{
public static void main(String[] args)
{
collectionsReverseMethod();
}
public static void collectionsReverseMethod()
{
List<String> list = new ArrayList<String>();
list.add("aaaa");
list.add("cedsg");
list.add("bsbd");
list.add("sbd");
list.add("fbd");
list.add("aa");
list.add("aa");
list.add("aa");
sop("反转前:"+list);
Collections.reverse(list);
sop("翻转后:"+list);
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
复制代码
7.Collections.reverseOrder(比较器);//该方法可以对一个比较器强行进行逆转
8.synchronizedList(list);//此方法可以将线程不同步的的list转换成线程安全的(该方法适用于list,set,map集合)
运行完成后返回一个线程同步的集合
9.Collections.swap(list,int i,int j);//该方法是将list集合中的索引i位置的元素和索引j位置
的元素进行置换(之适用于list集合)
10.Collections.shuffle(list);//该方法可以对原集合中的元素进行随机排序
该方法可以实现随机的效果(例如随机发牌的操作)
七:A rrays工具类
1.Arrays.toString(数组);//该方法返回指定数组的字符串表现形式
2.数组变集合:
Arrays.asList(数组);//该方法返回指定数组的集合(将数组转换为集合)将数组转换成集合,不可以使用集合的增删
方法,因为数组的长度是固定的,如果进行增删会发生UnsupporteOpeationException不支持操作异常
如果我们进行操作的数组是一个对象数组的话,使用asList()方法进行转换操作时原数组中的元素就直接成为
集合中的元素,如果进行操作的数组是一个基本类型的数组的话,使用asList()方法进行 转换操作时,会将整
个数组看作是一个元素存入集合;
3.集合变数组
集合.toArray(数组);//该方法返回一个和指定数组相同类型的数组;
①:指定类型数组的长度:当指定数组的长度小于了集合的size时,那么该方法内部就会产生一个新的数组,长度为集合的size
当指定数组的长度大于了集合的size,那么就不会产生新的数组,而是使用传递进来的数组
所以创建数组时,创建一个刚刚好的最优,也就是创建数组时,数组的长度最好是用list.size()来定义
例如;String[] str = list.toArray(new String[list.size()]);
②:为什么要将集合转换为数组?
答:为了限定对元素的操作,这样可以减少用户对原集合的操作范围,限制增删
--毕老师学习笔记之泛型完--
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2