java list类_java_List集合及其实现类
第一章: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集合及其实现类相关推荐
- Java常用工具类之异常、包装类、字符串处理类、集合框架实现类、输入输出流、多线程
集合.多线程和I/O流等 介绍6种常用工具类: 1.如何应用异常处理程序中的问题?2.如何通过包装器类实现基本数据类型的对象化处理?3.字符串处理类String.StringBuilder是如何进行字 ...
- 常用类之集合:ArrayList类
ArrayList类 数组有一个缺点:一旦创建,程序运行期间长度不可以发生改变. 但是ArrayList类出现解决了这一问题! 数组的长度不可以发生改变. 但是ArrayList集合的长度是可以随意变 ...
- Java学习总结:58(Collections工具类)
Collections工具类 Java提供了一个集合的工具类--Collections,这个工具类可以实现List.Set.Map集合的操作.Collections类的常用方法如下: No. 方法 类 ...
- 4_常用类_集合_泛型
JavaSE_第四周 包装类 基本类型 包装类类型(引用类型:默认值都是null) byte Byte short Short int Integer long Long float Float do ...
- java map常用类及其方法_Day50.Map类常用的方法 -Java常用类、集合#、IO
Day50.Map类常用的方法 -Java常用类.集合#.IO Day50.Map类常用的方法 -Java常用类.集合#.IO Map类常用的方法 . 总结: 常用方法 添加: put(Object ...
- Java集合(实现类线程安全性)
转载自 Java集合(实现类线程安全性) 1.集合和Map 下图是Java集合的Collection集合体系的继承树: 下图是Java的Map体系的继承树: 对于Set.List.Queue和Map ...
- java集合——映射表+专用集合映射表类
[0]README 0.1) 本文描述转自 core java volume 1, 源代码为原创,旨在理解 java集合--映射表+专用集合映射表类 的相关知识: 0.2) for full sour ...
- Java——操作集合的工具类:Collections
Java 提供了一个操作 Set .List 和 Map 等集合的工具类 :Collections,该工具类里提供了大量方法对集合元素进行排序.查询和修改等操作 转载于:https://www.cnb ...
- java集合框架类_Java集合框架总结—超详细-适合面试
Set和List接口是Collection接口派生的两个子接口,Queue是Java提供的队列实现,类似于List. Map实现类用于保存具有映射关系的数据(key-value). 2.Set.Lis ...
最新文章
- 使用自己的数据集训练MobileNet、ResNet实现图像分类(TensorFlow)| CSDN博文精选
- 从1到10排序的C语言程序,C语言:用冒泡法从高到低排序10 个数,然后进行反排序...
- js高级程序设计--AJAX JSON
- JS实现一行内多列DIV同高
- shell 练习(13) —— 监控 httpd 进程数是否异常
- PAT L3-007 天梯地图
- mysql in partition_MySQL Partition分区扫盲
- 为什么服务端程序都需要先 listen 一下?
- 【征稿通知】CCF第37届中国计算机应用大会 CCF NCCA 2022
- 电子科技大学计算机博士不好毕业吗,超六成博士生无法正常毕业:教育部数据告诉你哪个专业和学校最难读...
- 每日算法系列【LeetCode 312】戳气球
- Android PopupWindow的简单说明
- schema自动生成前端代码
- 演讲者模式投影到幕布也看到备注_PPT的备注功能怎么使用?如何让备注仅被演示者看到?...
- gem5中的O3 Pipeline Viewer Visualization实现方法
- 计算机桌面怎么自定义,例举电脑桌面图标后怎么自定义设置呢?
- 微信小程序 云开发之数据库-查找记录
- @TOM VIP邮箱,打造商务办公新场景,定位职场人的贴心助手!
- 优秀Android开发源码合集(附解析)程序员进阶宝典
- 【SpringCloud】SpringCloud简介
热门文章
- linux c获取内存和cpu使用率,linux c程序获取cpu使用率及内存使用情况
- 在JavaScript里 (a ==1 a== 2 a==3) 有可能是 true 吗?
- day 67 django 之ORM 增删改查基础
- 缓存MEMCACHE 使用原子性操作add,实现并发锁
- 2012年6月份第4周51Aspx源码发布详情
- Html前端基础(form表单、img标签、a href标签、id的作用)
- 2、数的分解 - 2019年第十届蓝桥杯大赛软件类省赛
- JSP的JavaBean前的知识点
- oracle12c时间,Oracle 12c-选择冒号后的日期时间字符串
- trunk口_南京课工场IT培训:VLAN、Trunk与三层交换机的相关理论知识