Collection集合

Collection集合的遍历:

  • 用迭代器进行遍历iterator: next() hasnext()
 Iterator<String> it=c.iterator();
  • 迭代器并没有add方法,并不能在遍历时进行集合的添加数据操作。
  • ListIterator是有add方法的,可以在遍历的同时进行集合的修改操作。
    Iterator it=c.listIterator();

增强for循环
格式:
for(元素数据类型变量名:数组或Collection集合){
该变量就是元素.
}

		int[] arr={1,2,3,4};
		for(int i:arr){
			System.out.println(i)
			}

List子类:ArrayList LinkList

  • ArrayList:底层是数组,查询快,修改慢
  • LinkList:底层是链表,查询慢,修改快

Set:

  • 迭代器和增强for两种遍历方式。

哈希值:

  • hasHCode() 返回哈希值。

  • 同一个对象多次调用HasHCode,返回的哈希值相同

  • 默认不同对象哈希值不同。而重写方法后可以实现不同对象哈希值相同。

HashSet:

  • 底层为哈希表。
  • 对迭代顺序不保证,因为哈希表并不是顺序存储。
  • 不能使用普通for循环遍历,所以使用增强for。
  • 当用于存储对象时,需要重写equals和hashCode方法

LinkedHashSet:

  • 哈希表和链表实现的Set接口,具有可预测的迭代次序。
  • 由链表保证元素有序,即存取顺序一致。

TreeSet:

  • 元素有序 TreeSet():自然排序 TreeSet(Comparator comparator) :指定比较器排序
  • 不能使用普通for遍历
  • Set集合,不含重复
    存储对象时必须实现Comparator<类> 接口,并且重写ComparatorTo(对象)方法或者指定比较器。
 public int ComparaTo(Student s){
		//return 0 不存储
		//return 1 升序存储
		//return -1 降序存储
	}

Map

  • K,V
  • 实例化用HashMap
  • 当键重复时,值会替代之前的值
  • .put() 添加元素
  • clear() 清空
  • Set keySet()获取所有键
  • Collectionvalues()获取所有值
  • Set<Map.Entry<k,V>> entry() 获取所有键值对
  • 遍历方法1:获取键,按键获取值
  • 遍历方法2:获取键值对
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值