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

JAVA基础笔记——Collections与Arrays

2015-05-31 21:34 429 查看
Collections:是java.util.*下的一个类,对集合进行操作

常用静态方法:

static Object max(Collection coll) 根据元素的自然顺序,返回给定 collection 的最大元素。

static Object min(Collection coll) 根据元素的自然顺序,返回给定 collection 的最小元素。

static void fill(List list, Object obj) 使用指定元素替换指定列表中的所有元素。

static void sort(List list):自然升序排序

static int binarySearch(List list, Object key) 使用二分搜索法搜索指定列表,以获得指定对象。

public static Comparator reverseOrder():可以**强行逆转**Collection的自然排序

public static Comparator reverseOrder(Comparator cmp):可以强行逆转指定比较器的顺序

static void shuffle(List list):对集合元素随机排序可以用于骰子,扑克的发牌(见Random))

Arrays: java.util.*下面的类,用来操作数组

数组变集合:可以用集合的思想来操作数组,比较方便

public static List asList(Object… a)返回一个受指定数组支持的固定大小的列表(返回的是不可变的List(长度固定))。

注意:

1.将数组变成集合,不可以使用集合的增删方法,因为数组的长度是固定的

2.如果数组中的元素都是对象,变成集合时,会将数组中的对象变成集合中的元素

如果数组中的元素都是基本数据类型,那么会将数组变成集合中的元素存在

如:

int[] a0 = {1,2,3};
List<int[]> list = Arrays.asList(a0);
System.out.println(list);//[[I@659e0bfd]
Integer[] a = {1,2,3};
List<Integer> arr = Arrays.asList(a);
System.out.println(arr);//[1, 2, 3]


集合变数组:为了限定对元素的操作

Collection.toArray() :

返回的数组长度如何确定:

如果指定数组的长度小于集合的size,方法内部会创建一个新数组,长度为size

如果指定数组长度大于集合的size,就不会创建数组了,使用传进来的数组,长度为size

String[] str = arr.toArray(new String[arr.size()]);
System.out.println(Arrays.toString(str));


Arrays.asList()Collection.toArray() 一起,充当了基于数组的 API 与基于 collection 的 API 之间的桥梁。返回的列表是可序列化的,并且实现了 RandomAccess

高级for与iterator:

高级for:只能获取集合中的元素,不能对集合进行操作

Iterator:除了(**只能正向**)遍历,还可以进行remove操作(ListIterator可以**先正向迭代后反向迭代**,同时可以在遍历时
对集合进行增删改查)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  集合 java 操作