软件设计之Java入门视频(17)
软件设计之Java入门视频(17)
视频教程来自B站尚硅谷:
尚硅谷Java入门视频教程,宋红康java基础视频
相关文件资料(百度网盘)
提取密码:8op3
idea 下载可以关注 软件管家 公众号
学习内容:
该视频共分为1-717部分
本次内容涉及 510-539
在写代码时,总是需要来回切换界面来看代码要求,这里推荐Snipaste,可以把截图以窗口形式放在屏幕上
记录内容:
- 集合框架
- Collection接口
- Set接口
1、集合框架
1)集合、数组都是对多个数据进行存储操作的结构,简称
ava容器
。说明:此时的存储,主要指的是内存层面的存储,不涉及到持久化的存储(.jpg.txt等)
2)数组在存储多个教据方面的特点:
一旦初始化以后,其长度就确定了
数组一旦定义好,其元素的类型也就确定了,只能操作指定类型的数据
3)数组在存储多个数据方面的缺点:
一旦初始化以后,其长度就不可修改
数组中提供的方法非常有限
,对于添加、删除、插入数据等操作,非常不便
获取数组中实际元素的个数的需求,数组没有现成的属性或方法可用
数组存储数据的特点:有序、可重复,对于无序、不可重复的需求,不能满足
2、Collection接口
Collection常用方法
public class CollectionTest {
@Test
public void test1(){
Collection coll = new ArrayList();
//add(Object e):将元素e添加到集合coll
coll.add("AA");
coll.add(123); //基本数据类型--> Integer自动装箱
coll.add(new Date());
//size():
System.out.println(coll.size());//3
//addAll(Collection coll1):将coll1集合中的元素添加到当前的集合中
Collection coll1 = new ArrayList();
coll1.add("345");
coll.addAll(coll1);
System.out.println(coll.size());//4
//iterator遍历Collection
Iterator iterator = coll.iterator();
while (iterator.hasNext()){
System.out.println(iterator.next());
}
//for循环变量Collection
//for(集合元素的类型 局部变量 :集合对象)
for (Object obj : coll){
System.out.println(obj);
}
}
}
ArrayList&LinkedList&Vector
List常用方法
public class ListTest {
@Test
public void test1(){
ArrayList list = new ArrayList();
list.add(123);
list.add("AA");
//void add(int index , Object ele)在指定位置插入ele元素
list.add(1,"CC");
System.out.println(list);//[123, CC, AA]
//int indexOf(Object obj)返回obj在集合中首次出现的位置,没有返回-1
int index = list.indexOf(123);
System.out.println(index);//0
//int lastIndexOf(Object obj)返回obj在集合中末次(最后一次)出现的位置,没有返回-1
list.add(123);
int j = list.lastIndexOf(123);
System.out.println(j);//3
//List subList(int fromIndex,int toIndex)返回从fromIndex到toIndex左闭右开区间子集和
List list1 = list.subList(0, 2);
System.out.println(list1);//[123, CC]
}
3、Set接口
1)Set无序性:不等于随机性,存储的数据在底层数组中并非按照数组索引的顺序添加,而是根据数据的哈希值决定
2)保证添加的元素按照equals()判断时,不能返回true 即:相同的元素只能添加一个
3)添加元素的过程:以HashSet为例
4)Set接口没有额外定义新的方法,使用的都是Collection中声明过的方法
5)要求:向Set中添加的数据,其所在的类一定要重写hashCode()和equals()方法
LinkedHashSet
LinkedHashSet作为HashSet的子类,在添加数据的同时,每个数据还维护了两个引用,记录此数据前一个数据和后一个数据
优点:对于频繁的遍历操作,LinkedHashSet效率高于HashSet
TreeSet
1)向TreeSet中添加数据,要求是相同类的对象
2)两种排序:自然排序,定制排序
自然排序中,比较两个对象是否相同的标准为:compaerTo()返回0
,不再是equals()
定制排序中,比较两个对象是否相同的标准为:compare()返回0
不再是equals()
原文地址:https://blog.csdn.net/thm19990903/article/details/140531828
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!