集合
一、简介
1.集合分为Collection集合和List集合
(1)Collection是集合类的一个接口,它定义了集合共有的方法,与数学上的集合一样,是无序的
(2)List也是集合类的一个接口,它是一个列表(数组),与Collection集合不一样的地方是,List允许有重复的对象,而且是有序排列的
2.List下的类
(1)ArrayList实现类,线性表结构,当需要频繁使用索引值的时候,使用ArrayList类
(2)LinkedList实现类,链表结构,当需要频繁增加或删除数据的时候,使用LinkedList类
二、基本功能的实现
ArrayList
class Person{
int age;
int score;
String name;
public Person(int a,int s,String n){
this.age = a;
this.score = s;
this.name = n;
}
}
public static void main(String[] args){
ArrayList<Person(类型)>personList = new ArrayList<>();//定义一个ArrayList对象的格式
}
添加
personList.add(new Person(32,98,"Jack);//默认添加在末尾
插入
personList.add(i,new Person(32,98,"Jack))//在第i个位置插入对象;
//获取对象
Person person = personList.get(i);
遍历
1.用for循环遍历
for(int i = 0;i<personList.size();i++){
Person p = new personList.get(i);
System.out,print(p);
}
2.增强for循环遍历
for(Person p : personList){
System.out.println(p);
}
3.使用Iterator遍历器来遍历
Iterator<Person>iterator = personList.iterator();
使用hasNext()判断是否还有下一个,和next()获取下一个对象
while(iterator.hasNext()){
Person p = itertor.next();
System.out.println(p);
}
排序,sort
personList.sort//自己定义的对象必须实现Comparable接口
判断数组里是否包含某一个元素contain
清空数组元素clear();
三、Map
Map为映射(接口),
(1)hashmap管理键值对
(2)ConcurrentMap多线程安全
(3)LinkedHashMap链表
key:键
value:值
相关功能
定义格式:
Map<String,Person> map = new HashMap
常用功能:
添加键值对put
map.put("jack",new Person(30,98,jack);
键值对个数size
是否包含某一个key,containsKey
是否包含某一个value,containsValue
获取某个key对应的值get
删除某个键值对,remove
替换某个键值对,replace