JAVA学习---集合和工具类

1.集合概述

总称,包含多个具体的类

1.1集合和数组的比较

数组

集合

大小固定

动态变化

效率较高、只存储原生数据类型

效率稍低、可以存储引用类型

只能存放单一数据类型

可以存储多种数据类型(除泛型集合外)

1.2集合继承层次

Iterator接口、Collection接口、Map接口

2. Collection接口下的继承者

2.1 Collection接口

集合类的基本接口。

序号

方法名

说明

1

add(Object o)

 向调用该方法的集合中添加元素o,成功返回true,失败返回false

2

addAll(Colletion c)

 将集合c中的所有元素添加到调用该方法的集合中,成功返回true,失败返回false

3

remove(Object o)

 从调用该方法的集合中删除指定元素

4

removeAll(Colletion c)

 从调用该方法的集合中删除与集合c相同的元素

5

size()

 返回集合内元素数量

6

clear()

 清空该集合

7

isEmpty()

 判断该集合是否为空

8

contains(Object o)

 判断集合是否含有元素o

9

containsAll(Colletion c)

 判断集合是否含有集合c中的所有元素

10

equals(Object o)

 判断集合是否与对象o是否相等

11

retainAll(Colletion c)

 删除不包含在集合c中的所有元素

12

toArray()

 返回由该集合里所有元素组成的数组

 

2.2 Set接口----不包含重复元素,至多一个null元素

2.3 HashSet----(无序不重复、有序号、查询速度快)和TreeSet------(有序不重复、无序号、运行速度稍慢)

序号

HashSet常用方法

TreeSet常用方法

方法名

说明

方法名

说明

HashSet()

 构造方法

TreeSet()

 构造方法

HashSet(Colletion c)

 构造方法

TreeSet(Colletion c)

 构造方法

HashSet(int initialCapacity)

 构造方法

TreeSet(int initialCapacity)

 构造方法

HashSet(int initialCapacity float loadFactor)

 构造方法

TreeSet(Comparator < ? super E > comparator)

 构造方法

add(E e)

 添加元素

add(E e)

 添加元素

remove(Object o)

删除元素 

remove(Object o)

 删除元素

size()

返回集合元素数量 

comparator()

 返回集合比较器

clear()

清空集合 

clear()

 清空集合

isEmpty()

判断集合是否为空 

size()

 返回集合元素数量

contains(Object o)

判断集合是否包含元素o 

contains(Object o)

 判断集合是否包含元素o

clone()

返回HashSet的实例拷贝 

first()

 返回集合第一个元素

iterator()

 迭代器

last()

 返回集合最后一个元素

iterator()

 迭代器

2.4 List接口-----允许存放重复项

add(int index, E element):指定位置增加元素

addAll(int index, Collection c):指定位置添加多个元素

get(int index):返回列表指定位置的元素

indexOf(Object o):返回列表指定元素第一次出现的位置索引

lastindexOf(Object o):返回列表指定元素最后一次出现的位置索引

remove(int index):移除列表指定位置的元素

set(int index, E element):用指定元素替换指定位置处的元素

2.5 ArrayList和LinkedList

ArrayList是最常用的列表,可以储存几乎任何类型的元素,而LinkedList对元素进行删除和插入的性能优于ArrayList。

3.集合访问器Iterator接口

迭代器:遍历结合元素的工具

hasNext()方法:检验下面是否有元素可以迭代

next()方法:返回迭代的下一个元素

remove()方法:移除迭代器返回的最后一个元素

import java.util.List;
import java.util.ArrayList;
import java.util.Iterator;

//查找符合要求的元素并组成新的集合输出
public class Demo9_1 {
    public static void main(String[] args) {
        
        String str1 = "";
        List list1 = new ArrayList();
        List list2 = new ArrayList();
        
        list1.add("686869");
        list1.add("好好学习,天天向上!");
        list1.add("山和湖泊");
        list1.add("868213");
        
        for (int i = 0; i < list1.size(); i++) {
            str1 = list1.get(i).toString();
            boolean b1 = str1.contains(",");//判断是否符合
            if(!b1) {
                list2.add(str1);   //构建新的集合
            }
        }
        Iterator it = list2.iterator();
        System.out.println("符合要求的元素有:");
        while (it.hasNext()) {
            System.out.print(it.next() + " "); //遍历输出
            
        }
        
    }
}

4.集合工具类Collections(max、min、sort、copy、binarySearch)

5.Map接口(key_value)

5.1 Map接口简介

线程安全使用HashTable,排序使用TreeMap,单纯插入删除定位使用HashTree

5.2 HashMap和TreeMap

6.泛型集合

7.常用工具类

7.1 Java API文档

7.2 Math类

(abs()、cos()、sin()、cbrt()、log()、max()、min()、pow()、random())

7.3日期处理

Data:Date()、equals();

Calendar: Calendar.YEAR、Calendar.MONTH、Calendar.DATE、Calendar.HOUR、Calendar.DAY_OF_WEEK、Calendar.HOUR_OF_DAY、getInstance()、getTime()、getTimeInMIllis()、clear();

SimpleDataFormat:SimpleDataFormate(String pattern)、format(Data date)、parse(String source))

猜你喜欢

转载自www.cnblogs.com/zouhq/p/10543163.html