栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【2022.5.30】Java集合

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【2022.5.30】Java集合

泛型

作用:让代码更加灵活
定义位置:类:
		语法:
			访问权限修饰符 class 类名{
				访问权限修饰符 X 属性名;
				访问权限修饰符 X 方法名(形参列表){
				
				}
			}
		方法:
		语法:
			访问权限修饰符  返回值类型 方法名(形参列表){
			
			}
实际:泛型就是一种数据类型的占位符

集合

作用:临时存储数据
与数组的区别:
	数组存储的长度是不可变的
	集合长度可变

集合体系

Collection
方法:
	size();//获取集合中的数据个数
	
	isEmpty();//判断集合是否存储数据
	
	iterator();//获取迭代器
	
	toArray();//将集合转换为数组
	
	add(T t);//添加一个数据
	
	addAll(Collection c);//添加一组数据
	
	remove(T t)://删除一个数据
	
	remove(Collection c);//删除一组数据
	
	clear();//清空集合
子接口:
	List
	特点:有序的(存入顺序与取出顺序一致,称之为有序)
	方法:
		boolean addAll(int index, Collection c);//插入多个数据
		
		get(int index);			//获取指定位置的数据
		
		set(int index ,E element);//修改某个位置的数据为
		
		add(int index ,E element);//指定位置添加单个数据
		
		remove(int index);//删除指定位置的数据
		
		子类:
		ArrayList
			数据结构:数组结构
			优点:查询速度快
			缺点:增删速度慢
		LinkList
			数据结构:(单)链表
			优点:增删的速度快
			缺点:查询速度慢
		Vector
			最古老的ArrayList
			与ArrayList的区别是线程是安全的
	Set
	特点:无序的
	方法:没有特有方法.都是继承的父类
	子类:
		HashSet
			数据结构:红黑树(二叉树)+哈希表   
								  eg:[4,1,8,11,2,3,0]   4 
													1		8
												0		2		11
                                                			3
                   左边走小,右边走大
		TreeSet
			数据结构:
			注意点:存储的数据要么拥有比较性,要么给treeset指定比较器
			方案1:
				1.让数据拥有比较性
				2.存储的数据所在的类实现comparable接口
				3.重写compareTo方法
	public int compareTo(Person o) {
		if (this==o) {
			return 0;
		}
		int nameNum=name.compareTo(o.getName());
		int sexNum=sex.compareTo(o.getSex());
		int ageNum=age-o.getAge();
		return ageNum+sexNum+nameNum;
	}
			方案2:给treeset指定比较器
				创建treeset时传入comparator对象,用匿名内部类
		LinkdHashSet
			数据结构:红黑树+哈希表+链表

ArrayList

		//创建集合对象
		ArrayList arrayList = new ArrayList();
		//添加单个数据
		arrayList.add(10);
		//在指定下标位置添加数据
		arrayList.add(1,11);
		System.out.println(arrayList);
		ArrayList arrayList2 = new ArrayList();
		arrayList2.add(11);
		arrayList2.add(3);
		//添加多个数据
		arrayList.addAll(arrayList2);
		System.out.println(arrayList);
		System.out.println(arrayList.size());
		//查询指定下标位置的数据
		System.out.println(arrayList.indexOf(1));
		//删除指定下标位置的数据
		arrayList.remove(0);
		System.out.println(arrayList);
		//删除多个数据
		arrayList.removeAll(arrayList2);
		System.out.println(arrayList);
		//清空集合
		arrayList.clear();
		System.out.println(arrayList);
			//使用迭代器.第一步创建迭代器
		Iterator iterator = arrayList.iterator();
		//2.循环判断后边是否有数据
		while (iterator.hasNext()) {
			//移动游标获取数据
			Integer next = iterator.next();
			System.out.println(next);
		}

LinkedHashSet

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/937321.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号