(不全,其他的可参照帮助文档)
增删 *** 作,以ArrayList为例。
Collection c = new ArrayList(); //1、添加元素 c.add("apple"); c.add("pear"); c.add("watermelon"); System.out.println("元素个数:"+c.size());//元素个数:3 System.out.println(c);//调用toString()方法 [apple, pear, watermelon] //2、删除元素 c.remove("pear"); System.out.println("删除之后:"+c);//删除之后:[apple, watermelon] c.clear(); System.out.println(c.size());//0
遍历 *** 作,以ArrayList为例。
//1、增强for循环遍历 for(Object o:c2){ System.out.println(o); } System.out.println("=================================="); //2、迭代器 Iterator iterator = c2.iterator(); while(iterator.hasNext()){ System.out.println(iterator.next()); //iterator.remove();//迭代器中的删除方法 }1、List
JDK1.2
查询快,增删慢。运行效率快,线程不安全。
默认容量为10。
可以用列表迭代器正向或逆向遍历。
//列表迭代器正向遍历 ListIterator lis = list.listIterator(); while (lis.hasNext()){ System.out.println(lis.next().toString()); } System.out.println("===================="); //列表迭代器逆序遍历 while (lis.hasPrevious()){ System.out.println(lis.previous().toString()); }Vector(矢量表)
JDK1.0
查询快,增删慢。运行效率慢,线程安全。
使用枚举器遍历,用法类似于迭代器。
双向链表
查询慢,增删快。
使用方法类似于ArrayList。
linkedList.getFirst();//获取头结点 linkedList.getLast();//获取尾结点2、Set
无序、无下标、元素不可重复。
方法同Collection
删除 *** 作只能通过元素删除,因为没有下标。
遍历 *** 作无法使用for循环,可以用增强for循环和迭代器。
通过hashcode使元素不重复。
TreeSet(实现SortedSet接口)元素对象的类型必须实现Comparable接口。例如Person类是加入TreeSet的一种引用类型,则:
public class Person implements Comparable{ ······ //重写一下方法,用来确定如何判断重复对象 @Override public int compareTo(Person o){ ··· } }
Comparator接口:实现定制比较的比较器,可以作为TreeSet有参构造的参数。传入这个参数后,元素的类可以不必实现Comparable接口。例如:
//Person类是一个自定义的引用类型 TreeSettreeSet = new TreeSet<>(new Comparator (){ @Override public int compare(Person o1,Person o2){ 比较规则与返回值 } });
这里可以使用匿名内部类直接实现Comparator接口。
二、Map- 以键值对的方式存储键:无序、无下标、不可重复值:无序、无下标、可重复
常用方法:
使用示例,以HashMap为例:
Map1、HashMapmap = new HashMap<>(); //增删 map.put("aaa","AAA"); map.put("bbb","BBB"); map.put("ccc","CCC"); map.put("ddd","DDD"); map.put("eee","EEE"); System.out.println(map);//{aaa=AAA, ccc=CCC, bbb=BBB, eee=EEE, ddd=DDD} map.remove("bbb"); System.out.println(map);//{aaa=AAA, ccc=CCC, eee=EEE, ddd=DDD} //遍历 //1、使用keySet,得到key的Set集合 for(String str:map.keySet()){ System.out.println(str+"="+map.get(str)); } //2、使用entrySet for(Map.Entry e:map.entrySet()){ System.out.println(e); }
JDK1.2加入,线程不安全,运行效率快。
允许null作为key或value。
默认容量为16.
对key进行自动排序
元素对象的类型必须实现Comparable接口。实现方法可参考TreeSet。
所有的方法都是 public static void
其他常用方法:
扩容方法示例:
//定义list集合 Listlist = new ArrayList<>(); list.add("aaa"); list.add("bbb"); list.add("ccc"); List list2 = new ArrayList<>(); Collections.addAll(list2,new String[list.size()]);//实例化元素个数为list.size()元素全为空的String数组,全部添加到待赋值集合list2中,相当于为list2扩容成和list一样大的集合 Collections.copy(list2,list); System.out.println(list2.toString());//[aaa, bbb, ccc]
上一篇 常用类
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)