第一章:List集合_List接口介绍

1).特点

1).有序的;

2).可以存储重复元素;

3).可以通过索引访问;

List list = new ArrayList<>();

list.add("张无忌");

list.add("张三丰");

list.add("章子怡");

list.add("章子怡");//OK的,可以添加

for(String s : list){

System.out.println(s);//有序的

}

2).方法

继承了Collection接口的所有方法,并且又有很多自己的方法

voidadd(String item)

向滚动列表的末尾添加指定的项。void add(String item, intindex)

向滚动列表中索引指示的位置添加指定的项。voidaddActionListener(ActionListener l)

添加指定的动作侦听器以从此列表接收动作事件。voidaddItemListener(ItemListener l)

添加指定的项侦听器以接收此列表的项事件。voidaddNotify()

创建列表的同位体。void deselect(intindex)

取消选择指定索引处的项。

AccessibleContext

getAccessibleContext()

获取与此 List 关联的 AccessibleContext。

ActionListener[]

getActionListeners()

返回已在此列表上注册的所有动作侦听器的数组。

String

getItem(intindex)

获取与指定索引关联的项。intgetItemCount()

获取列表中的项数。

ItemListener[]

getItemListeners()

返回已在此列表上注册的所有项侦听器的数组。

String[]

getItems()

获取列表中的项。T[]

getListeners(ClasslistenerType)

返回目前已在此 List 上注册为 FooListener 的所有对象的数组。

Dimension

getMinimumSize()

确定此滚动列表的最小大小。

Dimension

getMinimumSize(introws)

获取具有指定行数的列表的最少维数。

Dimension

getPreferredSize()

获取此滚动列表的首选大小。

Dimension

getPreferredSize(introws)

获取具有指定行数的列表的首选维数。intgetRows()

获取此列表中的可视行数。intgetSelectedIndex()

获取列表中选中项的索引。int[] getSelectedIndexes()

获取列表中选中的索引。

String

getSelectedItem()

获取此滚动列表中选中的项。

String[]

getSelectedItems()

获取此滚动列表中选中的项。

Object[]

getSelectedObjects()

获取对象数组中此滚动列表的选中项。intgetVisibleIndex()

获取上次由 makeVisible 方法使其可视的项的索引。boolean isIndexSelected(intindex)

确定是否已选中此滚动列表中的指定项。booleanisMultipleMode()

确定此列表是否允许进行多项选择。void makeVisible(intindex)

使指定索引处的项可视。protectedString

paramString()

返回表示此滚动列表状态的参数字符串。protected voidprocessActionEvent(ActionEvent e)

处理发生在此列表上的动作事件,方法是将这些事件指派给所有已注册的 ActionListener 对象。protected voidprocessEvent(AWTEvent e)

此滚动列表的进程事件。protected voidprocessItemEvent(ItemEvent e)

处理发生在此列表上的项事件,方法是将这些事件指派给所有已注册的 ItemListener 对象。void remove(intposition)

从此滚动列表中移除指定位置处的项。voidremove(String item)

从列表中移除项的第一次出现。voidremoveActionListener(ActionListener l)

移除指定的动作侦听器,以便不再从此列表接收动作事件。voidremoveAll()

从此列表中移除所有项。voidremoveItemListener(ItemListener l)

移除指定的项侦听器,以便不再从此列表接收项事件。voidremoveNotify()

移除此列表的同位体。void replaceItem(String newValue, intindex)

使用新字符串替换滚动列表中指定索引处的项。void select(intindex)

选择滚动列表中指定索引处的项。void setMultipleMode(booleanb)

设置确定此列表是否允许进行多项选择的标志。

api

3).常用方法(以下几个方法都是List接口中特有的方法)

1).增:public void add(int index,E e):将e添加到当前集合的index位置。

2).删:public E remove(int index):删除index位置上的元素,并将删除的元素返回。

3).改:public E set​(int index,E element):将element替换index位置上的元素,并将原index位置上的元素返回。

4).查:public E get​(int index):获取index位置上的元素。

示例代码:

public static voidmain(String[] args) {//List集合中增加自己的add方法,add(int index,E e);

List list=new ArrayList<>();

list.add("aaaa");

list.add("bbbb");

list.add("cccc");

list.add(1,"dddd");

System.out.println(list);//删除指定索引的元素,并将删除的元素返回

String removeStr=list.remove(2);

System.out.println(removeStr);

System.out.println(list);//修改指定索引位置上的元素set(int index,E e),并将原index位置上的元素返回

String setStr=list.set(2,"ffff");

System.out.println(setStr);

System.out.println(list);//通过索引获取指定索引上的元素

String getStr=list.get(2);

System.out.println("索引为3的元素为:"+getStr);

System.out.println(list);

}

第二章.实现List接口的常用类_ArrayList

1).list接口常用实现类

2).ArrayList

特点:

查询快----使用索引

增删慢---需要扩容,移位

图解:

方法:

无特有方法

案例

public static voidmain(String[] args) {//List集合中增加自己的add方法,add(int index,E e);

ArrayList list=new ArrayList<>();

list.add("aaaa");

list.add("hhhh");

list.add("cccc");

list.add(1,"dddd");

System.out.println(list);//删除指定索引的元素,并将删除的元素返回

String removeStr=list.remove(2);

System.out.println(removeStr);

System.out.println(list);//修改指定索引位置上的元素set(int index,E e),并将原index位置上的元素返回

String setStr=list.set(2,"ffff");

System.out.println(setStr);

System.out.println(list);//通过索引获取指定索引上的元素

String getStr=list.get(2);

System.out.println("索引为3的元素为:"+getStr);

System.out.println(list);

}

3).LinkedList

特点

使用链表实现

增删快,查询慢

图解

方法

新增了一些方法,可以模拟栈、队列:

1).public void push(Object o):压栈    等同于addFirst(E e) ,将指定元素添加到此集合的开头

2).public

E pop():弹栈--如果没有元素,会抛异常;

public E poll():弹栈--如果没有元素,会返回null【建议使用】

案例:

public classDemo {public static voidmain(String[] args) {

LinkedList list = new LinkedList<>();

list.push("孙悟空");

list.push("猪八戒");

list.push("沙和尚");

System.out.println(list);while (list.size() > 0) {

System.out.println("弹出一个:" +list.poll());

System.out.println("集合大小:" +list.size());

}

}

}

java list类_java_List集合及其实现类相关推荐

  1. Java常用工具类之异常、包装类、字符串处理类、集合框架实现类、输入输出流、多线程

    集合.多线程和I/O流等 介绍6种常用工具类: 1.如何应用异常处理程序中的问题?2.如何通过包装器类实现基本数据类型的对象化处理?3.字符串处理类String.StringBuilder是如何进行字 ...

  2. 常用类之集合:ArrayList类

    ArrayList类 数组有一个缺点:一旦创建,程序运行期间长度不可以发生改变. 但是ArrayList类出现解决了这一问题! 数组的长度不可以发生改变. 但是ArrayList集合的长度是可以随意变 ...

  3. Java学习总结:58(Collections工具类)

    Collections工具类 Java提供了一个集合的工具类--Collections,这个工具类可以实现List.Set.Map集合的操作.Collections类的常用方法如下: No. 方法 类 ...

  4. 4_常用类_集合_泛型

    JavaSE_第四周 包装类 基本类型 包装类类型(引用类型:默认值都是null) byte Byte short Short int Integer long Long float Float do ...

  5. java map常用类及其方法_Day50.Map类常用的方法 -Java常用类、集合#、IO

    Day50.Map类常用的方法 -Java常用类.集合#.IO Day50.Map类常用的方法 -Java常用类.集合#.IO Map类常用的方法 . 总结: 常用方法 添加: put(Object ...

  6. Java集合(实现类线程安全性)

    转载自  Java集合(实现类线程安全性) 1.集合和Map 下图是Java集合的Collection集合体系的继承树: 下图是Java的Map体系的继承树: 对于Set.List.Queue和Map ...

  7. java集合——映射表+专用集合映射表类

    [0]README 0.1) 本文描述转自 core java volume 1, 源代码为原创,旨在理解 java集合--映射表+专用集合映射表类 的相关知识: 0.2) for full sour ...

  8. Java——操作集合的工具类:Collections

    Java 提供了一个操作 Set .List 和 Map 等集合的工具类 :Collections,该工具类里提供了大量方法对集合元素进行排序.查询和修改等操作 转载于:https://www.cnb ...

  9. java集合框架类_Java集合框架总结—超详细-适合面试

    Set和List接口是Collection接口派生的两个子接口,Queue是Java提供的队列实现,类似于List. Map实现类用于保存具有映射关系的数据(key-value). 2.Set.Lis ...

最新文章

  1. 使用自己的数据集训练MobileNet、ResNet实现图像分类(TensorFlow)| CSDN博文精选
  2. 从1到10排序的C语言程序,C语言:用冒泡法从高到低排序10 个数,然后进行反排序...
  3. js高级程序设计--AJAX JSON
  4. JS实现一行内多列DIV同高
  5. shell 练习(13) —— 监控 httpd 进程数是否异常
  6. PAT L3-007 天梯地图
  7. mysql in partition_MySQL Partition分区扫盲
  8. 为什么服务端程序都需要先 listen 一下?
  9. 【征稿通知】CCF第37届中国计算机应用大会 CCF NCCA 2022
  10. 电子科技大学计算机博士不好毕业吗,超六成博士生无法正常毕业:教育部数据告诉你哪个专业和学校最难读...
  11. 每日算法系列【LeetCode 312】戳气球
  12. Android PopupWindow的简单说明
  13. schema自动生成前端代码
  14. 演讲者模式投影到幕布也看到备注_PPT的备注功能怎么使用?如何让备注仅被演示者看到?...
  15. gem5中的O3 Pipeline Viewer Visualization实现方法
  16. 计算机桌面怎么自定义,例举电脑桌面图标后怎么自定义设置呢?
  17. 微信小程序 云开发之数据库-查找记录
  18. @TOM VIP邮箱,打造商务办公新场景,定位职场人的贴心助手!
  19. 优秀Android开发源码合集(附解析)程序员进阶宝典
  20. 【SpringCloud】SpringCloud简介

热门文章

  1. linux c获取内存和cpu使用率,linux c程序获取cpu使用率及内存使用情况
  2. 在JavaScript里 (a ==1 a== 2 a==3) 有可能是 true 吗?
  3. day 67 django 之ORM 增删改查基础
  4. 缓存MEMCACHE 使用原子性操作add,实现并发锁
  5. 2012年6月份第4周51Aspx源码发布详情
  6. Html前端基础(form表单、img标签、a href标签、id的作用)
  7. 2、数的分解 - 2019年第十届蓝桥杯大赛软件类省赛
  8. JSP的JavaBean前的知识点
  9. oracle12c时间,Oracle 12c-选择冒号后的日期时间字符串
  10. trunk口_南京课工场IT培训:VLAN、Trunk与三层交换机的相关理论知识