Collection(集合)
Conllection分为List和Map
其中List有着ArrayList,LinkedList和Vector
ArrayList和Vector
其中ArrList和Vector都是具备有序、有下标、元素可以重复三种特点,底层是数组结构实现,查询快,增删慢。
LinkedList
LinkedList实现类具备有序、有下标、元素可以重复三种特点,底层是链表结构实现,查询慢,增删快。
大部分业务80%-90%都是查询,因此ArrayList用得多,但是根据业务不同也是有着不同的使用,有可能一个模块用ArrayList,另一个模块用LinkedList
注意,使用ArrayList和LinkedList的线程都不安全
因为,它们都不是同步的,一旦在多线程中,有可能就是出现数据不一致,所以要尽量在单线程中应用!!!
泛型(很实用)
- 我有一个dog类,需要用它来添加数据,那么按照原来方法就是给ArrayList添加,然后For循环增强遍历出来
那么,我突然给了一个cat类,那么你继续添加数据,系统是不会给你报错的,但是, 继续运行,就会出现类型转换错误的提示了,那么,怎么解决?
泛型来了:ArrayList<> list = new ArrayList<>();
<>里面输入你要指定的类型,那么后面传输数据时哪怕多出来一个另外的类也没事,系统会出现提示
而且,泛型还能解决强转类型的麻烦
学到这里差不多就到了java基础第一阶段了,后面第二阶段还涉及到线程,i/o流
写个坦克大战,启动!!!