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接口的所有方法,并且又有很多自己的方法

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

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接口常用实现类

01ad40fa000951c4976c6b160375b0c1.png

2).ArrayList

特点:

查询快----使用索引

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

图解:

71bf8541129bf2b0434b5099ea2d6b4c.png

方法:

无特有方法

案例

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

特点

使用链表实现

增删快,查询慢

图解

4be244d866826b42d852eeef768aab79.png

方法

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

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());

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值