第一章: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());
}
}
}