IT彭于晏带你学java之Collection 权限 StringBuffer和StringBuilder






/*  
 * 集合的由来:  
 *      我们学习的是面向对象语言,而面向对象语言对事物的描述是通过对象体现的饿,为了方便对多个对象进行操作,我们就必须把这多个对象进行存储。  
 *      而要向存储多个对象,就不能是一个基本的变量,而应该是一个容器类型的变量,在我们目前所学过的知识里,有哪些是容器类呢》  
 *      数组和StringBuffer,但是呢?StringBuffer的结果是一个字符串,不一定满足我们的要求,这就是对象数组  
 *      而对象数组又不能适应变化的需求,因为数组的长度固定的,这个时候,为了适应变化的需求,Java就提供了集合类供我们使用。  
 *    
 *      数组和集合的区别?  
 *          A:长度区别  
 *              数组长度固定  
 *              集合长度可变  
 *          B:内容不同  
 *              数组存储的是同一种类型的元素  
 *              集合存储的是不同类型的元素  
 *          C:元素的数据类型  
 *              数组可以存储基本数据类型,也可以存储引用数据类型  
 *              集合只能存储引用类型  
 *      集合是存储多个元素的,但是,存储多个元素我们也是有不同的需求的:比如说:我们要这多个元素中不能有相同的元素,再比如说,我要这多个元素按照某种规则排序一下。  
 *      针对不同的需求,Java提供了不同的集合类,这样呢,Java就提供了很多个集合类。这多个集合类的数据结构不同,结构不同不重要,重要的是你要能够存储东西,  
 *      并且还要能够使用这些东西,比如说:判断,获取等。  
 *      既然这样,那么,这多个集合类是有共性的内容,我们把这些集合的共性内容不断向上提取,最终就能形成集合的继承体系结构。  
 *   
 *      数据结构:数据的存储方式。  
 *        
 *      Collection:是集合的顶层接口,它的子体系有重复的,有唯一的,有有序的,有无序的。  
 *   
 *      Collection的功能概述:  
 *      1:添加功能  
 *              boolean add(Object obj):添加一个元素  
 *              boolean addAll(Collection c):添加一个集合的元素  
 *                
 *      2:删除功能  
 *              void clear():移除所有元素  
 *      3:判断功能  
 *              boolean contains(Object obj):判断集合中是否包含指定的元素*(  
 *              boolean containsAll(Collection c):判断集合中是否包含指定集合元素(是一个还是所有)  
 *              boolean isEmpty():判断集合是否为空  
 *              boolean remove(Object obj):移除  
 *              boolean removeAll(Collection c):移除集合(是一个还是所有)  
 *        
 *      4:获取功能  
 *              Iterator<E> iterator()(重点)  
 *      5:长度功能  
 *              int size():元素的个数  
 *              面试题:数组有没有length()方法呢?字符串有没有length方法?集合有没有length()方法?  
 *                
 *                    
 *      6:交集功能  
 *              boolean retainAll(Collection c):两个集合都有的元素?思考元素去哪了,返回boolean又是什么意思?  
 *      7:把集合转换为数组  
 *              Object[] toArray()  

2.权限

测试权限修饰符
 * 1.public(公开的)
 * 2.protected(受保护的)
 * 3.default(默认的 什么都不写)
 * 4.private(私有的)
 * 
 * 				本类              同包类           同包子类          不同包类       不同包子类
 * public		√			√				√                  √              √
 * protected		√			√				√		   ×              √
 * default		√			√				√		   ×              ×
 * private		√			×				×		   ×		  ×
 */

3.StringBuffer和StringBuilder

/*
 * StringaBuffer
 * JDK1.0出来的 线程安全的 耗费系统资源
 * 
 * StringBuilder
 * JDK1.2出来 线程不安全 节省系统资源 
 * 
 * StringBuffer 和 StringBuilder 都是可变的字符序列(修改的是对象本身)
 * 操作StringBuffer的方法 一般是没有返回值的
 * 
 * String  
 * 线程不安全的 不可变的字符序列(不能修改字符串本身)
 * 
 * 
 * 
 * * 方法
 * 1.拼接
 * 2.插入 修改
 * 3.删除
 * 4.反转
 * 5.替换
 * 6.string与StringBuffer的相互转换
 * 
 * 
 *  需求
		 * 把int[] array = new int[]{1,2,3,4};
		 * 输出上面的 [1, 2, 3, 4]
		 * 要求:使用两种方法(String 和 StringBuffer)
 */

猜你喜欢

转载自blog.csdn.net/weixin_42120532/article/details/80356587