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     @Override
15     public String toString() {
16         return "Phone [name=" + name + ", price=" + price + "/n";
17     }
18
19     @Override
20     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()方法。

时间: 2024-07-30 20:35:36

List类集接口的相关文章

Java类集(接口继承的关系)

类集的概念: 类集(Collection)就是一个动态的对象数组,与一般的对象数组不同,类集中的对象内容可以任意扩充. 类集的特性: 这种框架是高性能的 框架必须允许不同类型的类集以相同的方式和高度互操作方式工作 类集必须是容易扩展和/或修改的 Java类集(接口继承的关系)

Java常用类集接口以及实现方式总结

最近学习map-reduce原理以及map-reduce编程,于是顺带着学习下Java编程,对于Java常用的数据结构和类集,我总结到mind图中,便于理清相互之间的关系 package leiji; import java.util.ArrayList; import java.util.List; import java.util.Collection; public class ArryList { public static void main(String args[]){ List

Java类集总结之一

1)类集:一个动态的对象数组,是对一些实现好的数据结构进行了包装. 2)在使用各个类集接口时,如果没有指定泛型,则肯定会出现警告信息, 此时,泛型将被擦除而全部使用Object接收. 3)类集框架本身不受对象数组长度的限制. 4)Collection接口 此接口使用了泛型,可以保证类集操作的安全性,避免发生ClassCastException. Collection接口是单值存放的最大父接口. 5)在开发中,很少直接使用Collectioin接口进行开发,基本上都是使用其子类接口. 子类接口主要

实训9.2.类集,Collection接口

一.类集 类集实际上就是一个动态的对象数组,与一般的对象数组不同,类集中的对象内容可以任意扩充. 二. 集合类,集合接口 集合类存放于java.util包中.集合类存放的都是对象的引用,而非对象本身,出于表达上的便利,我们称中的对象就是指集合中对象的引用(reference).集合类型主要有3种:set(集).list(列表)和map(映射).——Collection的子接口,子类. 集合接口分为:Collection和Map,list.set实现了Collection接口. 三.Collect

类集框架

什么是类集框架? 类集框架是一组类和接口,位于java.util包中,主要用于储存和管理对象,主要分为三大类:集合.列表.映射 集合(Set):Set是接口,对象不按特定的方式排序(把对象放入Set的顺序和从Set中取出的顺序不一定一致),且没有重复对象 列表(List):有个接口叫List,对象按照索引位置排序,可以有重复的对象 映射(Map):Map也是个接口,每一个元素包含一个键对象和一个值对象,键不可以重复,值可以重复 类集框架的主体结构如下: 举个例子:接口List和实现类ArrayL

java中的类集

首先得明白什么叫做类集,以及它的作用是什么? 类集实际上就是一个动态的对象数组,有人就会问了,不是有数组了吗?还要类集干嘛呢,其实啊,一般的数组都有一个长度的限制不,类集就是专门来解决这种限制的,使用类集可以很方便的向数组中增加任意多个数据,是很容易进行扩展和修改的. 我们来了解了解类集的架构,所有类集操作都存放在java.util包中: Collection接口是保存单值集合的最大父接口,但是在一般的开发中,都不直接用Collection进行开发(操作意义不明确),而是使用其子接口进行开发.

Java知多少(111)几个重要的java数据库访问类和接口

修改数据表记录也有3种方案. 一.使用Statement对象 实现修改数据表记录的SQL语句的语法是:    update表名 set 字段名1 = 字段值1,字段名2 = 字段值2,……where特定条件例如: update ksInfo set 姓名 = ‘张小卫’where 姓名 = ‘张大卫’ 先创建一个SQL语句,然砶调用Statement对象的executeUpdate()方法.例如, 1 sql = “update ksInfo set 姓名 = ‘”+txtName.getTex

java类集框架

一.系统简述: 1.集合框架总体结构    Java中集合类定义主要是java.util.*包下面,常用的集合在系统中定义了三大接口,这三类的区别是: java.util.Set接口及其子类,set提供的是一个无序的集合: java.util.List接口及其子类,List提供的是一个有序的集合: java.util.Map接口及其子类,Map提供了一个映射(对应)关系的集合数据结构: 另外,在JDK5中新增了Queue(队列)接口及其子类,提供了基于队列的集合体系.每种集合,都可以理解为用来在

类集框架(三)

1. Map和HashMap的使用方法 2. JDK帮助文档的使用方法 1. Map和HashMap的使用方法 2. JDK帮助文档的使用方法 帮助文档下载chm格式的英文版, 在索引里面搜索Map 1 import java.util.Map; 2 import java.util.HashMap; 3 4 public class Test{ 5 public static void main(String args []){ 6 HashMap<String,String> hashMa