java学习笔记-集合类

1、Collection集合类
集合类的特点:提供一种存储空间可变的存储模型,存储的暑假容量可以随时发生改变
集合:Collection 单列 Map 双列
单列:List 可重复 Set 不可重复
List:ArrayLIst LinkedList …
Set: HashSet TreeSet …
双列:HashMap …
1.1Collection集合常用方法
add(e); //添加元素
remove(o);//移除指定的元素
clear(); //清空集合中的元素
contains(o); //判断是否存在指定的元素
isEmpty(); //判断集合是否为控
size(); //集合的长度
1.2Collection集合的遍历
Iterator:迭代器,集合的专用遍历方式
Iteratoriterator():返回此集合中元素的迭代器,通过集合的iterator()方法得到
常用方法:
E next():返回迭代中的下一个元素
boolean hasNext():如果迭代具有更多元素,则返回true
1.3集合的使用步骤

Collection<String> c = new ArrayList<String>(); //步骤1:创建集合对象
c.add("hello");    //步骤2:添加元素
//步骤3:遍历集合	
Iterator<String> it = c.iterator();	//步骤3.1:通过集合对象获取迭代器对象
while(it.hasNext()) {	//步骤3.2:通过迭代器对象hasnext();判断是否还有元素
	String s = it.next();//步骤3.3:通过迭代器对象next();获取下一个元素
	System.out.println(s);
}

1.4案例:collection集合存储学生对象并遍历

//案例:collection集合存储学生对象并遍历
Collection<Student> c = new ArrayList<Student>();

Student s1 = new Student("张三",18);
Student s2 = new Student("李四",18);
Student s3 = new Student("王五",18);
c.add(s1);
c.add(s2);
c.add(s3);

java.util.Iterator<Student> it = c.iterator();
while(it.hasNext()) {
	Student s = it.next();
	System.out.println(s.getName()+":"+s.getAge());
}

2、List集合
有序集合(也称序列)。该界面的用户可以精确控制列表中每个元素的插入位置。用户可以通过整数索引访问元素,并搜索列表中的元素
与set集合不同,列表通常允许重复的元素
2.1List集合特有方法
void add(int index,E element) //在此集合中的指定位置插入指定的元素
E remove(int index) //删除指定索引处的元素,返回被删除的元素
E set(int index,E element) //修改指定索引处的元素,返回被修改的元素
E get(int index) //返回指定索引处的元素

//遍历方法
for(int i = 0; i<list.size();i++) {
	System.out.println(list.get(i));
}

2.2ListIterator:列表迭代器
通过List集合的listIterator()方法得到,所以说的LIst集合特有的迭代器
用于允许程序员沿任一方向遍历列表的列表迭代器,再迭代期间修改列表,并获取列表中迭代器的当前位置
常用方法:
next();//返回迭代器的下一个元素
hasNext();//如果迭代具有更多元素,则返回true
previous();//返回列表中的上一个元素
hasPrevious();//如果此列表迭代器在相反方向遍历列表时具有更多元素,则返回true
add(e);//将指定的元素插入列表
2.3增强for循环:简化数组和Collection集合的遍历
实现lterable接口的类允许其对象成为增强型for语句的目标
格式:
for(元素数据类型的变量名:数组或者collection集合){
//在此处使用变量即可,该变量就是元素
}
范例:
int[] arr = {1,2,3,4,5};
for(int i : arr){
System.out.println(i);
}
注:内部原理是一个Iterator迭代器
2.4List集合存储学生对象用三种方式遍历

List<Student> list = new ArrayList<Student>();
	
	Student s1 = new Student("张三",18);
	Student s2 = new Student("李四",20);
	Student s3 = new Student("王五",20);
	
	list.add(s1);
	list.add(s2);
	list.add(s3);
		
	ListIterator<Student> lit = list.listIterator();
	//迭代器:集合遍历方法
	while(lit.hasNext()) {
		Student s = lit.next();
		System.out.println(s.getName()+":"+s.getAge());
	}
	System.out.println("---------------------");
	
	//普通for,带有索引的遍历方式
	for(int i = 0; i<list.size();i++){
		Student s = list.get(i);
		System.out.println(s.getName()+":"+s.getAge());
	}
	System.out.println("---------------------");
	
	//增强for,最方便的遍历方式
	for(Student s : list)
	{
		System.out.println(s.getName()+":"+s.getAge());
	}

2.5数据结构
栈:先进后出的模型
队列:先进先出的模型
2.6List集合子类的特点
ArrayList:底层数据结构是数组,查询快,增删慢
LinkedLIst:底层数据结构是链表,查询慢,增删快
2.6LinkedList集合的特有功能
addFirst(e);//在该列表开头插入特定的元素
addLast(e);//将指定的元素追加到此列表的末尾
getFirst(); //返回此列表中的第一个元素
getLast();//返回此列表中的最后一个元素
removeFirst();//从此列表中删除并返回第一个元素
removeLast();//从此列表中删除并返回最后一个元素

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小王不叫小王叭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值