JAVA--集合(Collection)
2015-11-20 22:47
381 查看
集合:
----------| Collection --------------| List 元素有序,可重复 -------------------| ArrayList 查询速度快,增删慢 -------------------| Linkedlist 增删快,查询慢 --------------| Set 元素无序,不可重复
方法:
1:add() 将指定对象存储到容器中 add 方法的参数类型是Object 便于接收任意对象 2:addAll() 将指定集合中的元素添加到调用该方法和集合中 3:remove() 将指定的对象从集合中删除 4:removeAll() 将指定集合中的元素删除 5:clear() 清空集合中的所有元素 6:isEmpty() 判断集合是否为空 7:contains() 判断集合何中是否包含指定对象 8:containsAll() 判断集合中是否包含指定集合 使用equals()判断两个对象是否相等 9:size() 返回集合容器的大小 10: toArray() 集合转换数组
样例代码:
public class Demo1{ public static void main(String[] args) { /* Collection d = new ArrayList(); d.add("a"); d.add(12); //System.out.println("是否添加成功"+d.add(3.14)); //add() 返回boolean Collection c = new ArrayList(); c.add(3.14); c.add('v'); c.add(12); System.out.println("集合c "+c.size()); System.out.println("集合d "+d); //d.addAll(c); //d.clear(); //System.out.println("删除成功吗?"+d.remove(12)); //remove() 返回boolean //d.removeAll(c); // 在d中删除与c相交的元素。 d.retainAll(c); // 在d中保留与c相交的元素,删除其他元素 System.out.println("集合c "+c); System.out.println("集合d "+d); */ /*Collection a = new ArrayList(); a.add("小明"); a.add("小梁"); System.out.println("判断是否为空"+a.isEmpty()); System.out.println("判断是否包含某个元素"+a.contains("笑话"));*/ Collection a = new ArrayList(); a.add("小明"); a.add("小花"); a.add("小华"); a.add("小红"); /* * Object[] arr = a.toArray(); for(int i=0; i<arr.length ; i++){ System.out.print(arr[i]+","); } System.out.println(a); */ Iterator it = a.iterator(); it.next(); it.remove(); System.out.println(a); while(it.hasNext()){ /*it.next(); it.remove();*/ System.out.println("元素 :" + it.next()); } } }
List
方法:
1.add(int index,E element); 2.addAll(int index,Collection c); 3.get(int index); 4.indexOf(object o); 5.lastIndexOf(object o); 6.sunList(int start,int end); 7.set(int index,E element) 8.listIterator(); 注意:在迭代器迭代元素的过程中,不允许用集合对象改变集合内的元素的个数,否则会抛出异常(ConcurrentModificationException), 如需要添加和删除元素,只能用迭代器的方法操作 9.hasPrevious(); 判断是否存在上一个元素 10.previous() 当前指针先向上移动一个,然后再取出当前指针指向的元素。 11.next() 先取出取出当前指针指向的元素,然后指针再向下移。
样例代码:
public class Demo1{ public static void main(String[] args) { /*List list = new ArrayList(); list.add("张三"); list.add("李四"); list.add("王五"); list.add("赵六"); list.add("赵六"); //list.add(1,"xiaowang"); List list2 = new ArrayList(); list2.add("小名"); list2.add("小红"); list.addAll(1,list2); System.out.println(list.get(1)); System.out.println(list.indexOf("张三")); System.out.println(list.lastIndexOf("赵六")); System.out.println(list.subList(1,3)); list.set(1,"小云"); obj[] arr =list.toArray(); System .out.println(arr.toString);*/ List list = new ArrayList(); list.add("张三"); list.add("李四"); list.add("王五"); list.add("赵六"); list.add("赵六"); //System.out.println(list); for(int i=0; i<list.size(); i++){ System.out.println(list.get(i)); } ListIterator it = list.listIterator(); while(it.hasNext()){ System.out.println(it.next()); } while(it.hasPrevious()){ System.out.println(it.previous()); } } }
ArrayList
ArrayList底层维护了一个object数组实现,使用无参构造函数时, object数组默认容量为10,当长度不够时,自动增长0.5倍
样例代码:
// 删除集合中的重复元素 import java.util.ArrayList; import java.util.ListIterator; class Book{ String name; int id; public Book(String name,int id){ this.name = name; this.id = id; } public String toString(){ return "["+this.name+","+this.id+"]"; } public boolean equals(Object obj){ Book book = (Book)obj; return book.id==this.id; } } public class Demo3{ public static void main(String[] args) { ArrayList list = new ArrayList(); list.add(new Book("Java编程",110)); list.add(new Book("php编程",330)); list.add(new Book("C++编程",440)); list.add(new Book("javascript编程",220)); list.add(new Book("C编程",110)); ListIterator it=list.listIterator(); ArrayList list1=new ArrayList(); while(it.hasNext()){ Book book = (Book)it.next(); if(!list1.contains(book)){ list1.add(book); } } System.out.println(list1); } }
Linkedlist
方法:1.addFirst(E e) 2.addLast(E e) 3.getFirst() 4.getLast() 5.removeFirst() 6.removeLast()
样例代码:
相关文章推荐
- Android Native 绘图方法
- C#中struct和class的区别详解
- VBS ArrayList Class vbs中的数组类
- 大家看了就明白了css样式中类class与标识id选择符的区别小结
- 深入了解PHP类Class的概念
- jquery 表单验证之通过 class验证表单不为空
- setAttribute 与 class冲突解决
- JavaScript中的类(Class)详细介绍
- javascript面向对象包装类Class封装类库剖析
- jQuery使用hide方法隐藏指定元素class样式用法实例
- jQuery给多个不同元素添加class样式的方法
- JavaScript更改class和id的方法
- 一篇入门的php Class 文章
- 深入C++中struct与class的区别分析
- js中设置元素class的三种方法小结
- c++中typename和class的区别介绍
- php class类的用法详细总结
- Windows平台的 PHP 报错 Fatal error: Class COM not found in 的解决方法
- JavaScript跨浏览器获取页面中相同class节点的方法
- js实现class样式的修改、添加及删除的方法