Collection集合、迭代器和泛型

Collection集合概述

1、集合概述
  • 集合:集合是Java中提供的一种容器,可以用来存储多个数据。
  • 数组和集合的区别?
2、集合框架
  • Collection:单列集合类的根接口。集合按存储结构可以分为两大类,单列集合Collection和双列集合Map。
  • List和Set:继承Collection,它们的区别?
3、Collection常用功能
  • public boolean add(E e):
  • public void clear():
  • public boolean remove(E e):
  • public boolean contains(E e):
  • public boolean isEmpty():
  • public int size():
  • public Object[] toArray():

Iterator迭代器

1、Iterator接口:用于遍历集合中所有的元素。
2、常用方法:public E next():返回迭代的下一个元素。public boolean hasNext():如果仍有元素可以迭代,则返回true。
3、使用范例:
//创建集合
Collection<String> co = new ArrayList<>();
co.add("🐱");co.add("🐕");co.add("ni");

//获取迭代器,每个集合对象都有自己的迭代器
Iterator<String> it = co.iterator();

//遍历
while(it.hasNext()){
	String s = it.next();
	System.out.println(s);
}
4、增强for:
	专门用来遍历数组和集合的。内部原理是个Iterator迭代器,所以在遍历的过程中,不能对集合中的元素进行增删操作。

for(元素的数据类型 变量 :Collection 或 数组){

}

泛型

1、泛型概述:可以在类或方法中预支地使用未知地类型。
2、使用泛型地好处:
  • 将运行时期地ClassCastException,转移到了编译时期变成了编译失败。
  • 避免了类型强转地麻烦。
具体解释:
	没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换
是要求开发者对实际参数类型可以预知的情况下进行的。对于强制类型转换错误的情况,编译器可能不提示错误,在运行的时候才出现异常,
这是一个安全隐患。泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,以提高代码的重用率。
3、 泛型地定义和使用
1,含有泛型的类
	定义格式:修饰符 class 类名<代表泛型的变量>{}
	例子:class ArrayList<E>{
			public boolean add(E e){}
			public E get(int index){}
			.....
	}
	使用:ArrayList<Integer> list = new ArrayList<Integer>();
	
2,含有泛型的方法
	类没有被定义泛型:
		修饰符<代表泛型的变量> 返回值类型 方法名(参数){}
		public <T> void show(T t){};
	使用定义在类声明的类型参数:
		class ArrayList<E>{
			public boolean add(E e){}//直接用
			public E get(int index){}
			.....
		}
	
3,含有泛型的接口
	定义格式:修饰符 interface 接口名字<代表泛型的变量>{}
	public interface MyInterface<E>{
		public abstract void add(E e);
		public abstract E get():
	}
	使用:
		*定义类时确定泛型的类型:
			public class MyImp1 implements MyInterface<String> {
					...
			}
		*始终不确定泛型的类型,直到被创建对象时。	
			public class MyImp2<E> implements MyGenericInterface<E> {
					...
			}
这个是完整源码 python实现 Django 【python毕业设计】基于Python的天气预报(天气预测分析)(Django+sklearn机器学习+selenium爬虫)可视化系统.zip 源码+论文+sql脚本 完整版 数据库是mysql 本研究旨在开发一个基于Python的天气预报可视化系统,该系统结合了Django框架、sklearn机器学习库Selenium爬虫技术,实现对天气数据的收集、分析可视化。首先,我们使用Selenium爬虫技术从多个天气数据网站实时抓取气象数据,包括温度、湿度、气压、风速等多项指标。这些数据经过清洗预处理后本研究旨在开发一个基于Python的天气预报可视化系统,该系统结合了Django框架、sklearn机器学习库Selenium爬虫技术,实现对天气数据的收集、分析可视化。首先,我们使用Selenium爬虫技术从多个天气数据网站实时抓取气象数据,包括温度、湿度、气压、风速等多项指标。这些数据经过清洗预处理后,将其存储在后端数据库中,以供后续分析。 其次,采用s,将其存储在后端数据库中,以供后续分析。 其次,采用sklearn机器学习库构建预测模,通过时间序列分析回归方法,对未来天气情况进行预测。我们利用以往的数据训练模,以提高预测的准确性。通过交叉验证超参数优化等技术手段,我们优化了模性能,确保其在实际应用中的有效性可靠性。 最后,基于Django框架开发前端展示系统,实现天气预报的可视化。用户可以通过友好的界面查询实时天气信息未来几天内的天气预测。系统还提供多种图表类,包括折线图柱状图,帮助用户直观理解天气变化趋势。 本研究的成果为天气预报领域提供了一种新的技术解决方案,不仅增强了数据获取处理的效率,还提升了用户体验。未来,该系统能够扩展至其他气象相关的应用场景,为大众提供更加准确及时的气象服务。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值