java集合基础20201024

JAVA集合

存放不定数量的不定类型的内容可变的容器,且可以根据需要自由提取元素,只能存储引用类型

-Collection接口(不唯一,无序)

List接口(不唯一,有序)
	ArrayList(线程不安全)
常用方法:		
int size();
boolean isEmpty();
int indexOf(T t);
int lastIndexOf(T t);
boolean add(T t);
boolean add(int index,T t);
boolean add(T[] ts);
boolean add(int index,T[] ts);
T remove(int index);
boolean remove(T[] ts);
void retain(T[] ts)
boolean set(int index,T t);
T get(int index);
boolean contains(T t);
boolean contains(T[] ts);
Iterator<T> itetator();
		Vector:线程安全
	Linkedlist(线程不安全)
		LinkedBlockingDeque(双向队列:线程安全)
		LinkedBlockingQueue(单向队列:线程安全)
Set接口(唯一,无序)
	HashSet
	TreeSet	

Map接口(键值对:键唯一,值不唯一,无序)

HashMap(线程不安全)
TreeMap

- 集合内的数据结构

Array:数组
	优势:遍历 
	劣势:查找,插入,删除
Linked:链表
	优势:插入,删除
	劣势:遍历,查找
Hash:哈希表
	优势:遍历,查找,新增,删除
Tree:红黑(平衡二叉)树
	优势:查找
	劣势:遍历,插入,删除

Iterator接口

hasNext():判断是否存在下一个访问元素
next():返回下一个访问元素
public static void main(String[] args) {
        User user1 = new User("jack",25);
        User user2 = new User("rose",25);
        List<User> list = new ArrayList<User>();
        list.add(user1);
        list.add(user2);
        Iterator<User> it = list.iterator();
        while (it.hasNext()){
            User a = it.next();
            System.out.println(a.getUserName()+"\t"+a.getAge());
        }
    }

Collections类
对集合元素进行排序,查找和替换等操作

compareTo()方法
实现一个类的对象之间比较大小,这个类要实现Comparable接口
	语法:int compareTo(Object  obj)
	参数:Object  obj
	返回值:负整数、零或正整数
public class User implements Comparable<User>{
    private String userName;
    private int age;

    public User(String userName,  int age) {
        this.userName = userName;
        this.age = age;
    }
    @Override
    public int compareTo(User o) {
        return null==o?-1:this.age>o.age?1:this.age==o.age?0:-1;
    }
 }
Collections.sort():对元素进行排序
Collections.binarySearch():对集合元素进行查找
Collections.fill():替换集合元素

泛型(本质:参数化类型)

语法:类1或接口<类型实参>对象=new 类2<类型实参>();
泛型类:访问修饰符 class  className<TypeList>
泛型接口:访问修饰符 interFace interFaceName<TypeList>
泛型方法:访问修饰符<类型参数>返回值 方法名(参数列表)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值