首页 > 代码库 > List类集接口
List类集接口
Collection接口下的List子接口允许有重复,那么在实际的开发之中,90%都使用的List接口。
List接口对Collection接口做了大量的扩充,主要扩充了如下方法:
public E set(int index, E element) | 普通 | 修改指定索引的数据 |
public E get(int index) | 普通 | 取得指定索引的数据 |
public ListIterator<E> listIterator() | 普通 | 为ListIterator接口实例化 |
List中有三个子类:ArrayList(90%)、LinkedList(5%)、Vector(5%)。
1.使用ArrayList实例化List接口
1 package cn.demo; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 6 public class TestHash { 7 public static void main(String[] args) throws Exception { 8 List<String> set = new ArrayList<String>(); 9 set.add("java");10 set.add("html"); 11 set.add("jsp"); 12 set.add("ajax"); 13 System.out.println(set);14 System.out.println(set.get(2));15 System.out.println(set.contains("java"));16 Object obj [] = set.toArray() ; // 不可能使用 17 for (int x = 0 ; x < obj.length ; x ++) {18 System.out.println(obj[x]);19 }20 }21 }
结果:
[java, html, jsp, ajax]
jsp
true
java
html
jsp
ajax
2.List与简单Java类:
对于List集合(所有集合)如果要想实现数据的删除与查找操作,一定需要简单java类中的equals()方法支持。
1 package cn.demo; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 6 class Phone{ 7 private String name; 8 private double price; 9 public Phone(String name,double price){10 this.name =name;11 this.price = price;12 }13 14 @Override15 public String toString() {16 return "Phone [name=" + name + ", price=" + price + "/n";17 }18 19 @Override20 public boolean equals(Object obj) {21 if (this == obj)22 return true;23 if (obj == null)24 return false;25 if (getClass() != obj.getClass())26 return false;27 Phone other = (Phone) obj;28 if (name == null) {29 if (other.name != null)30 return false;31 } else if (!name.equals(other.name))32 return false;33 if (Double.doubleToLongBits(price) != Double.doubleToLongBits(other.price))34 return false;35 return true;36 }37 }38 public class TestDemo {39 public static void main(String[] args) {40 List<Phone> all = new ArrayList<Phone>();41 all.add(new Phone("xiao米",20.9));42 all.add(new Phone("大米",20));43 System.out.println(all.contains(new Phone("大米",20)));44 all.remove(new Phone("xiao米",20.9));45 System.out.println(all);46 }47 }
结果:
true
[Phone [name=大米, price=20.0/n]
Collection类集删除对象或查找对象一定要使用equals()方法。
List类集接口
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。