集合、符串、javaBean

自动装箱和自动拆箱
自动装箱----自动将基本数据类型转换为包装类类型
Integer x=3----等价于 Integer x=new Integer(3)
自动拆箱----自动将包装类类型转换为基本数据类型
Integer x=new Integer(3)-----等价于int y=x.intValue

狭义javaBean的规范

在java中,可以重复利用的组件称为javaBean

在开发中,经常需要对对象进行数据的封装,以及对象数据的传输。

这一类对象,通常只有属性的定义,没有行为的定义。这一类对象就是狭义的javaBean

在java中,狭义javaBean有以下规范:
javaBean必须包含一个无参数的公有构造方法。
属性全部为私有属性,通过get/set方法对属性进行访问和设置。
需要实现序列化接口。

在堆中产生的字符串对象,需要以常量池中的字符串常量对象为模板。将内容考入堆中的字符串对象中。

字符串具有长度不可改变的特性。当对字符串进行添加、替换、删除时,不会更改字符串的内容,而是产生新的对象

StringBuffer会在缓冲区中开辟一个空间,当对StringBuffer的内容作连接、替换、删除等操作时,不会产生新对象。

toString使用这个将StringBuffer转换为String

StringBuilder是线程不安全的,StringBuffer是线程安全的

性能:StringBuilder>StringBuffer>String

集合的特点
元素类型可以不同、集合长度可变、空间不固定。
java中对一些数据结构和算法进行了封装即集合。集合也是一种对象,用于存储、检索、操作和传输对象。
JCF(java Collections Framework)集合框架。它提供了用于管理集合的接口和类

集合框架包含三个部分:接口、实现类、算法

集合框架的接口:
                 一个父接口 Collection

List (线性,元素可重复)                                 
(Arraylist,Vector,LinkedList)

ArrahyList底层使用数组实现,遍历速度快,中间插入和删除元素速度慢。线程不安全。
Vector底层也使用数组实现,性能和ArrayList类似。线程安全。
LikedList采用双向链表实现。每个元素除了存放数据以外,还要存放上一个和下一个元素的引用。遍历速度慢,中间插入和删除元素速度快。
Set(元素不重复)
HahSet实现类
TreeSet(具有去重性(如果有两个比较的值重复了,就会取掉一个值输出另一个值))

Map
键值对,一个元素包含两个对象,键对象不重复

Map的实现类

HashMap Hashtable Properties

	移除元素
	ad.remove(0);

<String>表示泛型,规定在该集合中只能放指定的类型
List<String>list=new ArrayList<String>();
list.add("adc");
list.add("ddd");
System.out.println(list.size());

	创建List集合对象
	List list=new ArrayList();
	//添加元素
	list.add("e");
	list.add(3);//list.add(new Integer(3));这是自动装箱
	list.add(new JFrame());
	list.add("陈");
	System.out.println(list.size());//size是得到集合的长度

	遍历
	这种遍历方式,只适合List
	for (int i = 0; i < ad.size(); i++) {
		Student s = ad.get(i);
		System.out.println(s);}

	迷代器方法
	Iterator<Student> t = ad.iterator();
	while (t.hasNext()) {//判断是否有下一个元素
		Student s = t.next();//取出元素,进行下一个,没有就结束了,跟点名一样
		System.out.println(s);
	}

	for....each方法
	for(Student s:ad){
		System.out.println(s);

集合的算法 iterator Arrays Collections
迷代算法接口 数组算法类 集合算法类

ArrahyList、Vector、LinkedList性能的差异。属于List类型
ArrahyList底层使用数组实现,遍历速度快,中间插入和删除元素速度慢。线程不安全。
Vector底层也使用数组实现,性能和ArrayList类似。线程安全。
LikedList采用双向链表实现。每个元素除了存放数据以外,还要存放上一个和下一个元素的引用。遍历速度慢,中间插入和删除元素速度快。

Collections进行集合排序时,需要指定比较规则。
指定比较规则有两种方法:
1、需要排序的类,实现Comparable接口,重写compareTo方法。
2、单独指定排序指定排序规则。该排序类需要实现Comparator接口,重写comoare方法。

HashMap和Hashtable的区别和联系。
1、HashMap和Hashtable都是Map集合的实现类。
2、HashMap允许空键和空值,但Hashtable不允许。
3、HashMap线程不安全,而Hashtable线程安全。

单一职责原则:一个类只应该和一个职责相关的业务,不要让一个类承担过多的职责

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值