登陆 | 注册 设为首页 | 加入收藏 | 联系我们
太和养老网
热词老年艺术  助老机构  养老系统  

中心区域北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 香港 澳门 台湾 全国城市养老院目录 全国县市养老院汇总目录 太和AI作品展 太和养老艺术网AI作品展示

您现在所在位置:首页 > 养老信息化 > Java集合--List-飞
Java集合--List-飞

 

2023/7/6 17:15:19 ('互联网')

Java集合

作为一个Developer,Java集合类是我们在工作中运用最多的、最频繁的类。相比于数组(Array)来说,集合类的长度可变,更加适合于现代开发需求;

Java集合就像一个容器,可以存储任何类型的数据,也可以结合泛型来存储具体的类型对象。在程序运行时,Java集合可以动态的进行扩展,随着元素的增加而扩大。在Java中,集合类通常存在于java.util包中。

Java集合主要由2大体系构成,分别是Collection体系和Map体系,其中Collection和Map分别是2大体系中的顶层接口。

Collection主要有三个子接口,分别为List(列表)、Set(集)、Queue(队列)。其中,List、Queue中的元素有序可重复,而Set中的元素无序不可重复;

List中主要有ArrayList、LinkedList两个实现类;Set中则是有HashSet实现类;而Queue是在JDK1.5后才出现的新集合,主要以数组和链表两种形式存在。

Map同属于java.util包中,是集合的一部分,但与Collection是相互独立的,没有任何关系。Map中都是以key-value的形式存在,其中key必须唯一,主要有HashMap、HashTable、TreeMap三个实现类。

1 List

在Collection中,List集合是有序的,Developer可对其中每个元素的插入位置进行精确地控制,可以通过索引来访问元素,遍历元素。

在List集合中,我们常用到ArrayList和LinkedList这两个类。

其中,ArrayList底层通过数组实现,随着元素的增加而动态扩容。而LinkedList底层通过链表来实现,随着元素的增加不断向链表的后端增加节点。

ArrayList是Java集合框架中使用最多的一个类,是一个数组队列,线程不安全集合。

它继承于AbstractList,实现了List, RandomAccess, Cloneable, Serializable接口。
(1)ArrayList实现List,得到了List集合框架基础功能;
(2)ArrayList实现RandomAccess,获得了快速随机访问存储元素的功能,RandomAccess是一个标记接口,没有任何方法;
(3)ArrayList实现Cloneable,得到了clone()方法,可以实现克隆功能;
(4)ArrayList实现Serializable,表示可以被序列化,通过序列化去传输,典型的应用就是hessian协议。

它具有如下特点:

容量不固定,随着容量的增加而动态扩容(阈值基本不会达到)有序集合(插入的顺序==输出的顺序)插入的元素可以为null增删改查效率更高(相对于LinkedList来说)线程不安全

数据结构:(JDK1.7)


LinkedList是一个双向链表,每一个节点都拥有指向前后节点的引用。相比于ArrayList来说,LinkedList的随机访问效率更低。

它继承AbstractSequentialList,实现了List, Deque, Cloneable, Serializable接口。
(1)LinkedList实现List,得到了List集合框架基础功能;
(2)LinkedList实现Deque,Deque 是一个双向队列,也就是既可以先入先出,又可以先入后出,说简单些就是既可以在头部添加元素,也可以在尾部添加元素;
(3)LinkedList实现Cloneable,得到了clone()方法,可以实现克隆功能;
(4)LinkedList实现Serializable,表示可以被序列化,通过序列化去传输,典型的应用就是hessian协议。

数据结构:(JDK1.7)


1.1 List常用方法
A:添加功能boolean add(E e):向集合中添加一个元素void add(int index, E element):在指定位置添加元素boolean addAll(Collection<? extends E> c):向集合中添加一个集合的元素。    B:删除功能void clear():删除集合中的所有元素E remove(int index):根据指定索引删除元素,并把删除的元素返回boolean remove(Object o):从集合中删除指定的元素boolean removeAll(Collection<?> c):从集合中删除一个指定的集合元素。C:修改功能E set(int index, E element):把指定索引位置的元素修改为指定的值,返回修改前的值。D:获取功能E get(int index):获取指定位置的元素Iterator iterator():就是用来获取集合中每一个元素。E:判断功能boolean isEmpty():判断集合是否为空。boolean contains(Object o):判断集合中是否存在指定的元素。boolean containsAll(Collection<?> c):判断集合中是否存在指定的一个集合中的元素。F:长度功能int size():获取集合中的元素个数G:把集合转换成数组Object[] toArray():把集合变成数组。
1.2 ArrayList基本操作
public class ArrayListTest {    public static void main(String[] agrs){        //创建ArrayList集合:        List<String> list = new ArrayList<String>();        System.out.println("ArrayList集合初始化容量:"+list.size());        //添加功能:        list.add("Hello");        list.add("world");        list.add(2,"!");        System.out.println("ArrayList当前容量:"+list.size());        //修改功能:        list.set(0,"my");        list.set(1,"name");        System.out.println("ArrayList当前内容:"+list.toString());        //获取功能:        String element = list.get(0);        System.out.println(element);        //迭代器遍历集合:(ArrayList实际的跌倒器是Itr对象)        Iterator<String> iterator =  list.iterator();        while(iterator.hasNext()){            String next = iterator.next();            System.out.println(next);        }                //for循环迭代集合:        for(String str:list){            System.out.println(str);        }        //判断功能:        boolean isEmpty = list.isEmpty();        boolean isContain = list.contains("my");        //长度功能:        int size = list.size();        //把集合转换成数组:        String[] strArray = list.toArray(new String[]{});        //删除功能:        list.remove(0);        list.remove("world");        list.clear();        System.out.println("ArrayList当前容量:"+list.size());    }}
1.3 LinkedList基本操作
public class LinkedListTest {    public static void main(String[] agrs){        List<String> linkedList = new LinkedList<String>();        System.out.println("LinkedList初始容量:"+linkedList.size());        //添加功能:        linkedList.add("my");        linkedList.add("



扫码加微信详细咨询太和智慧养老产品和平台服务!

 

 





版权声明:

---------------------------------------------------------------


所有信息来源于互联网,本文的版权归原作者所有,不代表本网观点和立场。

本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 81480447@qq.com 举报,一经查实,本站将立刻删除。



扫码加微信详细咨询太和智慧养老产品和平台服务!

 

养老资讯
助老机构介绍
评论
已有 0 条评论

最新评论

推荐养老院

您希望养老院位于
  • 不限
  • 东城
  • 西城
  • 崇文
  • 宣武
  • 朝阳
  • 丰台
  • 石景山
  • 海淀
  • 门头沟
  • 房山
  • 通州
  • 顺义
  • 昌平
  • 大兴
  • 怀柔
  • 平谷
  • 延庆
  • 密云
您希望的价格范围
  • 不限
  • 500以下
  • 500-1000
  • 1000-2000
  • 2000-3000
  • 3000-5000
  • 5000以上
老人的情况是
  • 不限
  • 自理
  • 半自理
  • 全护理
  • 特护

姓名

年龄

电话

全国城市养老院



关于我们 | 联系方式 | 网站地图 | 友情链接

Copyright 2010-2022 京ICP备18035644号-3 北京太和 版权所有