鸟哥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(接口...

黑马程序员——Java基础--集合框架工具类:Collections、Arrays、其他对象

asdf

JSON解析、JAVA常用的工具类、JAVA集合框架、JAVA泛型、枚举

JSON简介JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似...

JSON解析、JAVA常用的工具类、JAVA集合框架、JAVA泛型、枚举

JSON 简介 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式,...

JSON解析、JAVA常用的工具类、JAVA集合框架、JAVA泛型、枚举

JSON 简介 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使...

19-集合框架工具类-18-常用对象API(集合框架-工具类-Arrays-asList方法)

package cn.itcast.tool.demo; import java.util.Arrays; import java.util.List; public class AslistDe...
  • wy_0928
  • wy_0928
  • 2015年08月11日 10:23
  • 135

在 Java2中,有一套设计优良的接口和类组成了Java集合框架Collection,使程序员操作成批的数据或对象元素极为方便。这些接口和类有很多对抽象数据类型操作的API,而这是我们常用的且在数据结

深入理解Java的接口和抽象类   对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多...
  • john548
  • john548
  • 2016年08月17日 19:39
  • 277

(38)Java学习笔记——集合框架 / Collections工具类

Collections工具类 针对集合操作的工具类 有对集合进行排序和二分查找的方法 Collection 是单列集合的顶层接口,有子接口List 和 Set  Collections 成员方...

JAVA学习第四十四课 — 集合框架工具类(二)

Collections操控集合的工具类,Arrays操控数组的工具类 Arrays中方法大多是重载 重点掌握asList();将数组转为集合 static List as...

JAVA学习第四十三课 — 集合框架工具类(一)

一、Collections:集合框架的工具类 其中的方法都是静态的 排序方法演示 import java.util.ArrayList; import java.util.Collections...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:鸟哥Java学习之集合框架工具类--常用对象API
举报原因:
原因补充:

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