collection接口和list接口区别,java中collection中的接口
00-10101集合的概念2父类集合接口2.1常用方法2.2遍历3.1列表接口3.1常用方法3.2遍历4集合中元素的重复数据删除摘要
00-1010集合被视为一个容器。集合不是一个类,而是一套集合框架。框架系统包含许多集合类。java api提供任意类型的集合存储(基本打包类型、引用类型)。添加、删除、检查和更改元素非常方便,并特别提供了许多方便的方法。在方法的开发中,经常使用集合来操作数据,开发地位比较高。考虑数据操作的效率。
目录
1集合的概念
boolean add(E e e)添加一个元素addAll (element)添加一个集合remove(object)删除一个元素removeAll(collection)删除一个集合c . clear();//移除所有isEmpty()判断是否为空公共静态void main(string[]args){//创建集合Collection c=new ArrayList();//Add c.add(张三);c . add(10);c . add(false);c . add( a );system . out . println(c);//addAll (element)添加一个集合集合C2=new ArrayList();C2 . add( hello );C2 . add( world );C2 . add( Java );c . addall(C2);system . out . println(c);//Delete System.out.println(张三元素删除是否成功: c.remove(张三2 ));system . out . println(c);c . removeall(C2);System.out.println(移除c2集合: c );//clear并判断是否为空//c . clear();//删除所有//system . out . println(c);//[]system . out . println(c . isempty());//判断集合中的元素是否为空,是则返回true,否则返回false system . out . println(c . contains(张三222 ));//无论是否包含指定元素,都返回true,否则返回false System.out.println(获取集合中的元素个数: c . size()));//冷属性}
00-1010用foreach遍历用迭代器遍历用toArray()方法,然后遍历。用for {collectionc=newArrayList()遍历公共静态void main(string[]args);C.add(张三);C.add(李四);C.add(王五);system . out . println(c);//foreach遍历模式system . out . println(-1 );for(Object obj : c){ system . out . println(obj);}//迭代器方法,模式二,system . out . println(-);迭代器it=c . iterator();while(it . has next()){ Object obj=it . next();system . out . println(obj);} system . out . println(-3 );//模式3,to array Object[]objs=c . to array();for(Object o : objs){ system . out . println(o);} System.out.println( -
------4"); //方式四 for(Iterator iterator = c.iterator();iterator.hasNext();){ Object obj = iterator.next(); System.out.println(obj); } System.out.println("-------------5"); for(Iterator iterator = c.iterator();iterator.hasNext(); System.out.println(iterator.next())){} }
3 List接口
List接口继承了Collection接口,所以Collection接口的方法List都可以使用.
3.1List接口常用方法
添加
boolean add(E e) 添加一个元素void add(int index, E element) 添加某个元素到指定位置boolean addAll(Collection<? extends E> c) 添加一个集合
boolean-addAll(int index, Collection<? extends E> c) 添加一个集合到指定位置删除
E remove(int index) 删除指定位置的元素boolean remove(Object o) 删除某个元素boolean removeAll(Collection<?> c) 删除一个集合修改
E set(int index, E element)获取
E get(int index)int size()其他int indexOf(Object o)int lastIndexOf(Object o)List subList(int fromIndex, int toIndex)
3.2遍历h3>E get(int index) + int size()ListIterator listIterator()ListIterator listIterator(int index)员工类:
package listdemo;import java.util.Objects;public class Employee { //员工属性, id name age salary private Integer id; private String name; private Integer age; private Double salary; public Employee() { } public Employee(Integer id, String name, Integer age, Double salary) { this.id = id; this.name = name; this.age = age; this.salary = salary; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public Double getSalary() { return salary; } public void setSalary(Double salary) { this.salary = salary; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null getClass() != o.getClass()) return false; Employee employee = (Employee) o; return Objects.equals(id, employee.id) && Objects.equals(name, employee.name) && Objects.equals(age, employee.age) && Objects.equals(salary, employee.salary); } @Override public int hashCode() { return Objects.hash(id, name, age, salary); } @Override public String toString() { return "Employee{" + "id=" + id + ", name=" + name + + ", age=" + age + ", salary=" + salary + }; }}
public static void main(String[] args) { //创建一个list集合 List list = new ArrayList(); //添加的方法 list.add("hello"); list.add("java"); list.add(1,"world"); //添加到指定的位置的元素,添加到第二个位置 list.add("html"); System.out.println(list); List list2 = new ArrayList(); list2.add("test1"); list2.add("test2"); list2.add("test3");// list.addAll(list2); //添加一个集合// System.out.println(list); list.addAll(2,list2); //添加一个新集合到第一个老集合中指定的位置,下标为2 System.out.println(list); //删除 // * boolean remove(Object o) System.out.println(list.remove("java")); System.out.println(list); // * E remove(int index) Object obj = list.remove(1); System.out.println(obj); //world System.out.println(list); // * boolean removeAll(Collection<?> c) list.removeAll(list2); System.out.println("删除新集合之后:" + list); //修改 // * E set(int index, E element) Object o = list.set(1, "编程语言"); System.out.println(o); System.out.println("修改之后:" + list); // 其他 // * int indexOf(Object o) 从前面往后某个元素的位置 // * int lastIndexOf(Object o) 从后面往前面找某个元素的位置 // * List<E> subList(int fromIndex, int toIndex) List list3 = new ArrayList(); list3.add("张三"); list3.add("李四"); list3.add("王五"); list3.add("赵六"); list3.add("小编"); int i = list3.indexOf("李四2222"); System.out.println("李四的位置:" + i); System.out.println("找王五的下标位置:" + list3.lastIndexOf("王五")); System.out.println(list3); List newsList = list3.subList(1, 4); //从老集合中截取1-3的位置的元素,并返回一个新的集合 System.out.println(newsList); //1,2的位置的元素,3不包括, }List的遍历
E get(int index) + int size()ListIterator listIterator()ListIterator listIterator(int index)iterator();toArray();foreachtoStringfor()
package listdemo;import java.util.ArrayList;import java.util.List;import java.util.ListIterator;/** * * 遍历 * * E get(int index) + int size() * * ListIterator<E> listIterator() * * ListIterator<E> listIterator(int index) * iterator(); * toArray(); * foreach * toString * for() * for() * */public class ListDemo02 { public static void main(String[] args) { //E get(int index) + int size() List list = new ArrayList(); list.add("张三"); list.add("李四"); list.add("王五"); ListIterator listIterator1 = list.listIterator(1); if (listIterator1.hasNext()){ System.out.println("从第一个元素开始取出:" +listIterator1.next()); } if (listIterator1.hasNext()){ System.out.println("继续取下一个元素:" +listIterator1.next()); } //size获取集合中元素的个数 System.out.println(list.size()); //get(索引)获取指定索引的元素// Object o = list.get(0);// System.out.println(o); //张三// o = list.get(1);// System.out.println(o); //李四// o = list.get(2);// System.out.println(o); //王五 //以上出现重复,使用循环解决,结合size+get方法 for (int i = 0; i < list.size(); i++) { Object o1 = list.get(i); System.out.println(o1); } List list2 = new ArrayList(); list2.add("hello"); list2.add("world"); list2.add("java"); ListIterator listIterator = list2.listIterator();//列表迭代器方法,返回迭代器对象 //正向遍历 while (listIterator.hasNext()) { //判断集合中是否有可取的下一个元素,如果有 Object o = listIterator.next(); //取出第一个元素 System.out.println(o); } System.out.println("------------------------"); //逆序遍历,在使用hasPrevious(),previous(),先正序遍历才可以使用这个 while(listIterator.hasPrevious()){ Object obj = listIterator.previous(); System.out.println(obj); } }}
4 集合中元素的去重
package listdemo;import java.util.ArrayList;import java.util.List;/** * 去除集合中重复的元素 */public class ListDemo03 { public static void main(String[] args) { List list = new ArrayList(); list.add(new Employee(101,"张三",20,2000.0)); list.add(new Employee(102,"李四",30,3000.0)); list.add(new Employee(103,"王五",20,2000.0)); list.add(new Employee(103,"王五",20,2000.0)); //创建一个新的集合List newList = new ArrayList(); for(Object obj : list){ if (!newList.contains(obj)){ newList.add(obj); } } list = newList; //把新集合的数据赋值给到老集合 //遍历老集合 for(Object obj : list){ System.out.println(obj); } //第二种去除重复的方式 //冒泡,选择,比较equlas //根据选择排序的思想,从第一个元素依次和后面的每一个元素 for (int i = 0; i < list.size(); i++) { for (int j = i+1; j < list.size(); j++) { //进行比较,如果第一个元素和第二个元素是相等 //把第二个元素删除 if (list.get(i).equals(list.get(j))){ list.remove(j); j--; } } } for(Object obj : list){ System.out.println(obj); } }}
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注盛行IT的更多内容!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。