集合框架

集合框架:(Java Collection Framework)
一.集合特点:1.元素类型可以不同
2.集合长度可变
3.空间不固定
集合也是对象,可以用new的方式
二.集合包括Collection 和Map两大类:

Collection 包括List和Set,而List又包括ArrayList和LinkedList,Vector;Set包括HashSet和SortSet(TreeSet)
Map包括HashMap和TreeMap
1.定义:
List接口:指一列数据,以元素安插的数据的次序来放置元素,数据内容可以重复
Set接口:指一列数据,数据内容不能重复,使用自己内部的一个排列机制放置元素
Map接口:指一列数据,是在一种从键(Key)到值(Value)的对饮关系的集合,Key不能重复,Value可以重复
2.List list=new ArrayList();或者List list=new LinkedList();
ArrayList与LinkedList的区别:
集合元素增加.删除不频繁时使用ArrayList,它适合查询;
集合元素增加.删除频繁时使用LinkedList,链接列表的实现;
3.List和Set共通的基本使用方法:
list.add();---------增加元素
list.size();---------查询长度
list.get();---------查询元素
list.remove();---------删除元素
list.clear();---------删除全部元素
list.add();---------增加元素
Object[] d=treeset.toArray();--------转换为Object类型的数组

4.LinkedList独有的常用方法:
addFirst();------插入元素的开头
addLast();------插入元素的结尾
getFirst();------得到开头的元素
getLast();------得到结尾的元素
indexof();------返回数组下标
Vector:与ArraayList相似,线程更安全,性能低于ArraayList
5.泛型:(代表一种约束)
--------------------------------------------
List<String> list= new ArraayList<String>(); //表示实例化的集合是String类型的
--------------------------------------------
6.Iterator对Collection进行迭代的迭代器
例如:
Iterator it=list.Iterator()
while(it.hasNext()){
System.out.println(it.next());
}
7.Set:一个不包含重复元素的Collection,里面会自动排序
HashSet 初始值为16,因子是0.75
Set.Contains(1) //判断集合里有面有没有1这个元素
——————————————————————————-————
List是有序的,Set是无序的 // 序指插入元素的顺序,与字典顺序无关。
HashList速度快,不排序;TreeSet速度慢,排序 (指字典顺序)
例如1:
package com.lovo.test02;

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

public class Test00 {
public static void main(String[]args){
HashSet<String> s=new HashSet<>();
s.add("c");
s.add("a");
s.add("b");
System.out.println(s.toString());
System.out.println(s.size());
Iterator ite = s.iterator();
while(ite.hasNext()){
System.out.println(ite.next());
}
}
}
例如2:
package com.lovo.test02;

import java.util.Iterator;
import java.util.TreeSet;

public class Test001 {
public static void main(String[] args){
TreeSet<String> treeset=new TreeSet<String>();
treeset.add("asd");
treeset.add("jdfsjh");
treeset.add("hdasieiksa");
Object[] d=treeset.toArray();
System.out.println(d);
Iterator <String>ss=treeset.iterator();
while(ss.hasNext()){
System.out.println(ss.next());
}
}
}
——————————————————————————————
8.Map<key,Value>
Map中不允许出现相同的两个Key值
常用方法:
map.put(); --------- 添加元素
map.keySet();---------返回一个Key值
例如:
package com.lovo.test02;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.TreeMap;
public class MapTest {
public static void main(String[] args) {
Map<String,String> map=new TreeMap<>();
map.put("cd", "成都");
map.put("sh", "上海");
map.put("bj", "北京");
map.put("bj1", "beijing");
System.out.println(map);
System.out.println(map.hashCode());
System.out.println(map.isEmpty());
System.out.println(map.keySet());
map.remove("sh");
System.out.println(map);
}
}

原文地址:https://www.cnblogs.com/czg-123/p/5410822.html