List 接口
可存放任意可重复数据
常用子类:
ArrayList
在指定位置添加数据
add(index,data);
删除数据:
remove(index) ,remove(data);
通过for循环,根据索引和list.size()来输出list数据
将集合转数组
两种方式:
通过toArray(T[] o):
其他操作:
其他操作合集:
LinkedList类
实现List和Queue接口,常用操作
没啥需要特备注意的
Set
HashSet
无序排列
实现无重复排序的原理:
覆写equal和hashcode
例子:
TreeSet
无序添加有序输出
排序原理:依靠comparable
Iterator接口
输出
删除
理解:主要是单项迭代输出集合
ListIterator
foreach
不仅可以输出数组,还可以输出集合
foreach(type name:array)
在所有的输出操作中Iterator是最标准的输出
Map
collection保存的是一个个对象,而map则保存的是一对对象,每个元素以key->value的形式保存在集合之中。
map保存的是一个个map.entry对象,二map.entry则保存键值对
map.contain(key)
检查是否存在此key
输出全部key 使用iterator
返回全部的key的方法Set keySet()
如何取得iterator对象?
Set集合对象调用iterator()方法,iterator对象调用hasNext方法判断是否还有内容读取,next方法读取该集合下的正处于迭代位置的对象。
输出全部value
TreeMap
给键排序,自定义的类,要想为key排序则必须实现comparable类,覆写CompareTo()方法为其指定排序规则
弱引用类
当map中有些内容不常用的话,进行自动删除元素的功能
对象引用强度说明
Map接口输出
public class Demo1 {
public static void main(String args[])
{
Map<String,String> map = new HashMap<String,String>();
map.put("1", "2");
map.put("sdasd", "sdasdasd");
Set<Map.Entry<String, String>> set=map.entrySet();
Iterator<Map.Entry<String, String>> iter = set.iterator();
while(iter.hasNext())
{
Map.Entry<String, String> me = iter.next();
System.out.println( me.getValue()+me.getKey());
}
}
}
foreach输出map
感觉这种方式简单一些
两种方式其实都是用collection输出
因为key值必须要是同一个,
IdentifiHashMap
在使用HashMap操作的额时候,key内容是不能重复的,如果希望key可以重复(即两个对象的地址不一样)需要使用此类
两个对象内容相等因为地址不同则被识别为两个不同的key,但key值相等,使用范围因该是key为对象时。
SortedMap
所引用资料来自midnjava视频教程,只用学习交流。