集合框架

集合框架

1.Collection接口(面试题)

1.1集合框架的顶级接口
1.2 是Set 和 List 的父接口
1.2 但不是Map的父接口
集合中只能添加引用数据

2.List接口

2.1特点:有序,但不唯一

		//创建集合
		List<Object> list = new ArrayList<>();
		//添加数据
		list.add("aa");
		list.add("bb");
		list.add("cc");
		list.add("dd");
		System.out.println("-----------list有序-----------");
		for (Object item : list) {
			System.out.println(item);
		}
		
		//运行结果
		-----------list有序-----------
		aa
		bb
		cc
		dd
		
System.out.println("-------------list不唯一-------------");
		list.add("aa");
		for (Object item : list) {
			System.out.println(item);
		}
		
		//运行结果
		-------------list不唯一-------------
		aa
		bb
		cc
		dd
		aa

2.2遍历方式

System.out.println("---------------for(下标)-----------------");
		for (int i = 0; i < list.size(); i++) {
			System.out.println(list.get(i));
		}
		
	//运行结果
	---------------for(下标)-----------------
		aa
		bb
		cc
		dd
		aa
System.out.println("--------------foreach---------------");
		for (Object item : list) {
			System.out.println(item);
		}
		
	//运行结果
	--------------foreach---------------
		aa
		bb
		cc
		dd
		aa
System.out.println("----------------迭代器(Iterator)---------------");
	//创建迭代器 
	==使用迭代器遍历时hasNext()后必须要有next()==
		Iterator itr = list.iterator();
		while(itr.hasNext()) {	//hasNaxt()是为了接收下一个数据
			System.out.println(itr.next()); //next();是为了获取下一个数据
		}
		//运行结果
		----------------迭代器(Iterator)---------------
			aa
			bb
			cc
			dd
			aa

2.2.1 List集合删除

System.out.println("--------------删除---------------");
System.out.println("删除之前:"+list.size());
	//for(下标)
	for (int i = 0; i <list.size(); i++) {
			list.remove(i);
		}
		System.out.println("删除之后:"+list.size());
		//运行结果
		--------------删除---------------
		删除之前:5
		删除之后:2
	====删不干净所有用下面这种方法====
		//逆向删除
		for (int i = list.size()-1; i>=0; i--) {
			list.remove(i);
		}
		//运行结果
		--------------删除---------------
		删除之前:5
		删除之后:0
	//Iterator删除
	Iterator it = list.iterator();
		while(it.hasNext()) {
			it.next();
			it.remove();
		}
		//运行结果
	--------------删除---------------
		删除之前:5
		删除之后:0

2.3 List优化
初始容量为10,负载因子0.5
例如:10+100.5=15 16 --> 15+100.5=20

3.泛型

System.out.println("----------泛型-----------");
		List<Integer> lt = new ArrayList<Integer>(3);//初始容量(10)
		//添加数据
		lt.add(3);
		lt.add(2);
		lt.add(1);
		Iterator<Integer> itt = lt.iterator();
		
		//使用泛型之前
		while(itt.hasNext()) {
				Object ob = itt.next();
				Integer in = Integer.parseInt(ob.toString());
			if(in%2==0)
				System.out.println(in);
		}
		
		//所有泛型后
		while(itt.hasNext()) {
				Integer in = itt.next();
			if(in%2==0)
				System.out.println(in);
		}
		//运行结果
		----------泛型-----------
		2

4.装箱,拆箱

3.1 装箱:值类型—>引用类型

		int i = 5;
		Integer l =  new Integer(i);

3.2 拆箱:引用类型—>值类型

		Integer k = new Integer(4);
		int m = k.intValue();

5. ArrayList, LinkedList,Vector区别

ArrayList:以连接的数组结构储存数据,查询快,增删改慢
LinkedList: 以链表的结构储存数据,查询慢,增删改快
Vector: 增删改查都慢,已过时

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《java程序设计》课程的题库资料,由贺州学院整理,可供学生期末课程复习使用,也可以供相关任课教师出卷使用。 内容示例为: 40. __________包包含了Collection的接口的类的API。 答案:Java.util 41. Math.round(11.5)等于__________,Math.round(-11.5)等于__________。 答案:12; -11 [考点范围] 常用的系统类 42. ________对象可以使用read方法从标准的输入设备(通常键盘)读取数据;__________对象可以使用print方法向标准输出设备(屏幕)输出显示。 答案:System.in ;System.out [考点范围] JAVA输入输出系统 43. 框架(JFrame)和面板(JPanel)的默认布局管理器分别是______和_______。 答案:BorderLayout FlowLayout [考点范围] 图形用户界面 44. Swing的布局管理器主要包括_______。 答案:FlowLayout、BorderLayout、CardLayout、GridLayout、GridBogLayout、BoxLayout [考点范围] 图形用户界面 45. Java事件处理包括建立事件源、________和将事件源注册到监听器 。 答案:声明监听器 [考点范围] 图形用户界面 46. AWT的事件处理机制包括_______、事件和事件监听者。 答案:事件源 [考点范围] 图形用户界面 47. Swing的顶层容器有________、JApplet、JWwindow和JDialog。 答案:JFrame [考点范围] 图形用户界面 48. 线程的启动是通过调用其______________方法而实现的。 答案:start() [考点范围] 线程 49. Java虚拟机(JVM)中的线程调度器负责管理线程,调度器把线程的优先级分为10个级别,分别用Thread类中的类常量表示,每个Java线程的优先级都在常数________和_______之间,即Thread.MIN_PRIORIY和Thread.MAX_PRIORIY之间。 答案:1;10 [考点范围] 线程

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值