day07—— 集合

集合的体系

-- Collection(接口)
    -- List(接口,元素可重复)
    	-- ArrayList
    	-- LinkedList
    -- Set(接口,元素不可重复)
    	-- HashSet
    	-- TreeSet

Collection接口的方法

public boolean add(E e)  
    添加元素到集合末尾
public void clear()  
    清空集合中的元素
public boolean contains(Object o)  
    判断集合是否包含某一个元素
public boolean isEmpty()  
    判断集合是否为空
public boolean remove(Object o) 
    移除集合中指定的元素
public boolean removeIf(Predicate filter) 
    移除集合中满足条件的元素
public  int size()  
    获取集合的长度
public boolean removeIf(Predicate filter) 
    移除集合中满足条件的元素
    
public static void main(String[] args) {
    ArrayList<String> list = new ArrayList<>();
    list.add("aaa");
    list.add("bbb");
    list.add("ccc");
    list.removeif((String s)->{  //()里面写:E 自定义变量
        return "aaa".equals(s));  
    });
		
}

遍历集合

  • 普通for循环(有索引才可以用)
ArrayList<String> list=new ArrayList<>();
list.add("world");
list.add("java");
list.add("hello"); 

for(int i=0;i<list.size();i++){
    String s = list.get(i);
    System.out.println(s):
}
  • 迭代器遍历(通用方式)
Collection<String> coll=new ArrayList<>();
coll.add("hello");
coll.add("world");
coll.add("java"); 

//获取迭代器对象
Iterator<String> it = coll.iterator();
//判断是否有元素可以迭代
while (it.hasNext()){
    //获取元素
    String s = it.next();
    System.out.println(s); 
}

  • 增强for循环(通用方式)---------只能用来遍历,不可以做其他操作

迭代器的代码遍历集合比较麻烦,java语言提供了一种简化的遍历方式,就是增强for循环。

Collection<String> coll = new ArrayList<>();
coll.add("hello");
coll.add("world");
coll.add("java");

//增强for遍历 快捷键:集合/数组.for
for (String s : coll) {
    System.out.println(s);
} 

在增强for循环中,修改第三方变量的值不会影响到集合中的元素
     ArrayList<String> list = new ArrayList<>();
        list.add("aaa");
        list.add("bbb");
        list.add("ccc");

        for (String str : list) {
            str = "qqq"; //str只是用来接收集合里的值,集合里的元素仍然在集合中
        }
        System.out.println(list);//[aaa,bbb,ccc]

List接口的方法

List集合相当于Collection而言多了一些针对索引操作的方法。

public void add(int index, E element) 
    添加元素到指定的索引位置
public E remove(int index)  
    根据索引位置来删除元素
public E set(int index, E element)  
    根据索引位置修改元素;把被修改的元素返回
public E get(int index) 
    获取指定索引的元素

数据结构

数据结构指的是数据的组织方式,不同组织方式就会有不同的特点。

1.栈: 先进后出(子弹夹)
2.队列:先进先出(安检机)
3.数组:查询快增删慢
	ArrayList集合底层其实就是数组结构
	
4.链表:查询慢增删快
	LinkedList集合底层就是链表结构

LinkedList特有方法

public void addFirst(E e) 
    将指定元素插入此列表的开头。 
public  void addLast(E e) 
    将指定元素添加到此列表的结尾。 
public E getFirst() 
   返回此列表的第一个元素。 
public  E getLast() 
   返回此列表的最后一个元素。 
public E removeFirst()  
    移除第一个元素
public E removeLast() 
    移除最后一个元素

List集合小结

返回此列表的第一个元素。
public E getLast()
返回此列表的最后一个元素。
public E removeFirst()
移除第一个元素
public E removeLast()
移除最后一个元素

List集合小结

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值