集合框架:
java语言的设计者对常用的设计结构和算法做了一些规范(接口)和实现(具体实现接口的类)。所有抽象出来的数据结构和操作(算法)统称为java集合框架(Java Collection Framework)。java程序员在具体应用时,不必考虑数据结构和算法实现细节,只需要用这些类创建出来一些对象,然后直接应用就可以了,这样就大大提高了编程效率。
使用集合框架:
集合的分类:
Collection(其中List和Set都继承于Collection接口)和Map两类
Collection:无序不唯一
List:有序不唯一(插入顺序,不是排序!)
Set:无序唯一
Map:键值对(一一对应)
集合框架的内容:
List接口实现类:
ArrayList和LinkedList
List集合实例:
import java.util.ArrayList;
import java.util.List;
/**
* 集合框架位于java.util包下
* List:有序,不唯一
* 集合List:ArrayList
* @author Administrator
*
*/
public class Ch01 {
/**
* ArrayList集合特点:内部采用了可变长度的数组,分配的是连续的空间
* 遍历元素(从第一个到最后一个)及随机访问(随机查看某一个)元素的效率高
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//左边:接口 右边:实现类 多态
//<>尖括号中是泛型
List list = new ArrayList<>();
//接口定义的方法
//在List中追加一条数据
list.add(1);
list.add('a');
list.add(true);
//访问某个数据
System.out.println(list.get(2));
//在指定下标位置插入元素(从0开始计数),下标位置必须介于0到个数之间
list.add(1, "abc");
list.add(1,123);
//ArrayList中重写了toString方法
System.out.println(list.toString());
//size方法:获取List的个数
System.out.println("List的元素个数:"+list.size());
//通过传入具体的元素值来删除元素,返回删除结果
System.out.println("是否删除成功?"+list.remove("abc"));
//remove方法:有两个重载,一个是(int,a) 另一个(Object o),字符自动转成int型
System.out.println("是否删除成功?"+list.remove((Character)'a'));
//删除List中的整数(不是数组下标)
System.out.println("是否删除成功?"+list.remove((Integer)1));
//通过传入对应元素的下标来删除元素,返回被删除的元素内容
//下标位置范围在0到最后一个元素下标之间
System.out.println("被删除的元素是:"+list.remove(0));
System.out.println("List的元素个数:"+list.size());
list.add(456);
System.out.println(list.toString());
//判断是否存在某个元素值
System.out.println(list.contains(456));
}
}
执行结果: