黑马程序员技术交流社区

标题: 【郑州校区】第06天 集合第4章 List子体系 [打印本页]

作者: 我是楠楠    时间: 2018-3-12 14:16
标题: 【郑州校区】第06天 集合第4章 List子体系
第4章 List子体系

1.1 List子体系特点
A:有序的(存储和读取的顺序是一致的)
B:有整数索引
C:允许重复的
1.2 List的特有功能
          void add(int index, E element) :将元素添加到index索引位置上
                E get(int index) :根据index索引获取元素
                E remove(int index) :根据index索引删除元素
                E set(int index, E element):将index索引位置的的元素设置为element
1.2.1 案例代码八:
[AppleScript] 纯文本查看 复制代码
package com.itheima_05;
import java.util.ArrayList;
import java.util.List;
/*
* List:
* 有序的(存储和读取的顺序是一致的)
* 有整数索引
* 允许重复的
*
* List的特有功能:
* void add(int index, E element)  
* E get(int index)  
* E remove(int index)  
*          E set(int index, E element)
*  
*   增删改查


*   
*/
public class ListDemo {
public static void main(String[] args) {
//创建的列表对象
List list = new ArrayList();
//void add(int index, E element)  : 在指定索引位置添加指定元素
list.add(0, "hello");
list.add(0, "world");
list.add(1, "java");
//E get(int index)  :根据索引返回元素
/*System.out.println(list.get(0));
System.out.println(list.get(1));
System.out.println(list.get(2));*/
//System.out.println(list.get(3));
/*for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}*/
//E remove(int index)  : 删除指定元素并返回
//System.out.println(list.remove(5));
//E set(int index, E element) : 将指定索引位置的元素替换为指定元素,并将原先的元素返回
System.out.println(list.set(0, "android"));
System.out.println(list);
}
}
1.3 LinkedList特有功能
LinkedList底层使用的是链表结构,因此增删快,查询相对ArrayList较慢
void addFirst(E e) :向链表的头部添加元素
void addLast(E e):向链表的尾部添加元素
E getFirst():获取链头的元素,不删除元素
E getLast():获取链尾的元素,不删除元素
E removeFirst():返回链头的元素并删除链头的元素
E removeLast():返回链尾的元素并删除链尾的元素
1.3.1 案例代码九:
[AppleScript] 纯文本查看 复制代码
 package com.itheima_06;
import java.util.LinkedList;

/*
* List的常用子类:
* ArrayList
* 底层是数组结构,查询快,增删慢
* LinkedList
* 底层结构是链表,查询慢,增删快
*
* 如何选择使用不同的集合?
* 如果查询多,增删少,则使用ArrayList
* 如果查询少,增删多,则使用LinkedList
* 如果你不知道使用什么,则使用ArrayList
*
* LinkedList的特有功能:
* void addFirst(E e)  
* void addLast(E e)
         E getFirst()  
         E getLast()  
         E removeFirst()
         E removeLast()
*
*/
public class LinkedListDemo {
public static void main(String[] args) {
LinkedList list = new LinkedList();
list.add("hello");
list.add("world");
//void addFirst(E e)  :将元素添加到索引为0的位置
         //void addLast(E e) :将元素添加到索引为size()-1的位置
list.addFirst("java");
list.addLast("android");
         //E getFirst()  :获取索引为0的元素
         //E getLast()  :获取索引为size()-1的元素
//System.out.println(list.getFirst());
//System.out.println(list.getLast());
         //E removeFirst() :删除索引为0的元素并返回
         //E removeLast() :删除索引为size()-1的元素并返回
System.out.println(list.removeFirst());
System.out.println(list.removeLast());
System.out.println(list);
}
}
1.4 案例代码九
[AppleScript] 纯文本查看 复制代码
package com.itheima_07;
import java.util.ArrayList;
import java.util.List;

/*
* 需求:定义一个方法,返回指定列表中指定元素的索引位置
*
* 判断元素是否存在
*
*/
public class ListTest {
public static void main(String[] args) {
List list = new ArrayList();
list.add("hello");
list.add("world");
list.add("java");
//int index = index(list,"php");
//System.out.println(index);
//boolean flag = contains(list, "php");
//System.out.println(flag);
boolean flag = list.contains("php");
System.out.println(flag);
}
public static int index(List list,Object other) {
for(int x = 0;x < list.size();x++) {
//获取列表中的元素
Object obj = list.get(x);
//使用列表中的元素和指定的元素进行比较
if(obj.equals(other)) {
return x;
}
}
//查找不到指定的元素
return -1;
}
public static boolean contains(List list,Object other) {
//获取指定元素在指定列表中的索引位置
int index = index(list,other);
//如果索引位置大于等于0,则认为元素存在,否则不存在
if(index >= 0) {
return true;
}
else {
return false;
}
}
}
更多
第一天
第1章 知识回顾
第2章 static静态关键字
第3章 代码块
第二天
传智播客·黑马程序员郑州校区地址
河南省郑州市 高新区长椿路11号大学科技园(西区)东门8号楼三层
联系电话 0371-56061160/61/62
来校路线  地铁一号线梧桐街站A口出






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2