标签:obj sys 结构 重复 class 基本数据类型 inter 16px ring
一、泛型:
定义格式:修饰符 class 类名<代表泛型的变量> { } 注意:代表泛型的变量是引用数据类型 不是基本数据类型;
例:List<Integer> list = new ArrayList<Integer>();
含有泛型的接口:
定义格式:修饰符 interface接口名<代表泛型的变量> { }
使用泛型的好处:将运行时期的ClassCastException,转移到了编译时期变成了编译失败。避免了类型强转的麻烦。
集合中添加元素时候 在编译期间会报错;
二、当使用泛型类或者接口时,传递的数据中,泛型类型不确定,可以通过通配符<?>表示。但是一旦使用泛型的通配符后,只能使用Object类中的共性方法,集合中元素自身方法无法使用。
三、List集合存储数据
数据存储的常用结构有:堆栈、队列、数组、链表。
特点
堆栈:先进后出(类似于弹夹);
队列:先进先出(排队 过安检);
数组:查找快 增删慢(有下标 数组长度不可变);
链表:增删快 查找慢(无下标);
四、LinkedList集合(链表)
五、Vector集合(数组)
六、set接口:它里面的集合,所存储的元素就是不重复的。
原因如下:当调用set集合中add方法时候,先去调用存入的值的这个数据类型中的hashcode方法计算哈希值,然后拿着哈希值去集合中找是否有这个哈希值,如果没有,将元素存入,如果有,再调用这个数据类型中的equals方法比较内容,如果内容相同,将元素存入,如果内容相同,丢掉不存;
七、给HashSet中存储JavaAPI中提供的类型元素时,不需要重写元素的hashCode和equals方法,因为这两个方法,在JavaAPI的每个类中已经重写完毕,如String类、Integer类等。存储自定义类元素时候需进行重写;
八、存入元素有序输出 使用:LinkedHashSet
Set<String> set = new LinkedHashSet<String>();
public class LinkedHashSetDemo { public static void main(String[] args) { Set<String> set = new LinkedHashSet<String>(); set.add("bbb"); set.add("aaa"); set.add("abc"); set.add("bbc"); Iterator it = set.iterator(); while (it.hasNext()) { System.out.println(it.next()); } }
输出结果如下,LinkedHashSet集合保证元素的存入和取出的顺序:
bbb
aaa
abc
bbc
标签:obj sys 结构 重复 class 基本数据类型 inter 16px ring
原文地址:https://www.cnblogs.com/lxc127136/p/12785572.html