文章目录
前言
Java语言是一种优秀的编程语言。它最大的优点就是与平台无关,在Windows 9x、Windows NT、Solaris、Linux、MacOS以及其它平台上,都可以使用相同的代码。“一次编写,到处运行”的特点,使其在互联网上广泛采用。
由于Java语言的设计者们十分熟悉C++语言,所以在设计时很好地借鉴了C++语言。可以说,Java语言是一种比C++语言“还面向对象”的一种编程语言。Java语言的语法结构与C++语言的语法结构十分相似,这使得C++程序员学习Java语言更加容易。
当然,如果仅仅是对C++改头换面,那么就不会有今天的Java热了。Java语言提供的一些有用的新特性,使得使用Java语言比C++语言更容易写出“无错代码”。
那么我们今天就来认识一下java的容器集合
一、什么是容器集合
容器是指放东西的物品,在JAVA里面也是这样的,比如 list 是可以用来放对象的列表 你也可以自定义一些类来放其它对象,那么,你定义的这个类就是其它对象的容器。
集合是一组可变数量的数据项,集合的种类包括列表,集,多重集,树和图,通俗地讲就是这么一堆东西。主要用到的有Collection和Map如下图
二、Collection
Collection是单列
Collection常用的方法
Collection是单列的有两个子类List和Set
1.List
List常用的方法
一个有序(元素存入集合的顺序和取出的顺序一致)容器,元素可以重复,可以插入多个null元素,元素都有索引。常用的实现类有 ArrayList、LinkedList 和 Vector。
1.ArrayList:
ArrayList:底层结构是数组,查询快,增删慢
2.LinkedList:
LinkedList:底层数据结构是链表,查询慢,增删块
LinkedList特有的方法
2.Set
一个无序(存入和取出顺序有可能不一致)容器,不可以存储重复元素,只允许存入一个null元素,必须保证元素唯一性。Set 接口常用实现类是 HashSet、LinkedHashSet 以及TreeSet。
1.
HashSet:
没有迭代,存入的和取出的不一样,遍历只能用增强的for循环。
2.TreeSet:
不能用普通的for循环,输出的类容 按照大小排,不是排入的顺序
有两种排序的方法
Comparable(自然排序)
是让元素所属的类实现的Commparable接口,重写compareTo(T o)方法:重写方法需要有主要条件和次要条件
使用如下:
Comparator(比较器排序)
让集合构造方法接收Comparator的实现对象,重写compare(T o1,T o2)方法:重写方法需要有主要条件和次要条件
使用如下:
三、Map
map是双列
基本功能
获取功能
1.HasMap
特有的哈希值,每个哈希值都不一样,但是可以重写方法让他的值一样
2.TreeMap
有顺序的双列排序
Collections类的概述:1丶sort:按照元素的顺序排。2丶reverse:反转元素的顺序。3丶shuffle:随机打乱数组的顺序。=====都是list类型的