关于List常见使用方式
来源:互联网 发布:c语言的最大公约数 编辑:程序博客网 时间:2024/06/16 04:49
1.java List<T> 和 List<E> 有啥区别啊! 不都是泛型吗? 答:没有区别,T和E都是泛型变量名,你可以用任意合法的名字命名,比如K,ABC,abc都是合法的。 List<T> 表示 集合里 是 T类的实例 List<E> 表示 集合里 是 E类的实例 List<?> 表示 集合里的对象类型不确定,未指定 List 同 List<?> 泛型的作用: (1). List<T> list=new ArrayList<T>(); T t=list.get(0); (2).List list=new ArrayList(); T t=(T)list.get(0); 相信你已经看出:用泛型只是确定了集合内的元素的类型,取出来时已经不再需要强转
2.List如何实例化,常用方法有哪些?
实例化:List[<数据类型>] list = new ArrayList[<数据类型>]();
获得集合内元素个数:list.size();
添加元素:
默认添加:list.add(e);
指定下标添加(添加后下标后的元素向后挪一位):list.add(index,e);
删除元素:
返回是否删除:list.remove(e);
直接删除指定下标的元素(只删除找到的第一个相符合的元素):list.remove(index);
替换元素(替换掉指定下标的元素):list.set(index,e);
取出元素:list.get(index);
清空集合:list.clear();
判断集合中是否存在某个元素(存在返回true,不存在返回false):list.contains(e);
对比两个集合中的所有元素:
两个对象一定相等:list.equals(list2);
两个对象不一定相等:list.hashCode() == list2.hashCode();
(两个相等对象的equals方法一定为true, 但两个hashcode相等的对象不一定是相等的对象。)
获得元素下标:
元素存在则返回找到的第一个元素的下标,不存在则返回-1:list.indexOf(e);
元素存在则返回找到的最后一个元素的下标,不存在则返回-1:list.lastIndexOf(e);
判断集合是否为空(空则返回true,非空则返回false):list.isEmpty();
返回Iterator集合对象:list.iterator();
将集合转换为字符串:list.toString();
截取集合(从fromIndex开始在toIndex前结束,[fromIndex,toIndex)):list.subList(fromIndex,toIndex);
将集合转换为数组:
默认类型:list.toArray();
指定类型(objects为指定类型的数组对象,并将转换好的数组赋值给objects数组):list.toArray(objects);
以上为List常用的方法。下面这个链接也可以参考一下:http://hi.baidu.com/ipvsadm/item/e57a9c0fc900ea8b03ce1bed3.如何循环变量list中的元素?
- package com.test;
- import java.util.ArrayList;
- import java.util.Iterator;
- import java.util.ListIterator;
- import java.util.List;
- public class Test {
- public static void main(String[] args){
- Cat cat=new Cat("忍着猫");
- Human human=new Human("超人");
- Dog dog=new Dog("旺财");
- System.out.println(dog.toString());
- List list = new ArrayList();
- list.add(dog);
- list.add(cat);
- list.add(human);
- //Iterator it = list.iterator();
- ListIterator it2=list.listIterator();
- while (it2.hasNext()) { //循环遍历
- Object object = (Object) it2.next();
- if(object instanceof Dog){
- System.out.println( ((Dog) object).Do("啃骨头"));
- System.out.println(((Dog) object).toString());
- }
- if(object instanceof Cat){ //判断当前object是否是Cat类的实例
- System.out.println( ((Cat)object).Do("爱吃鱼"));
- }
- if(object instanceof Human){
- System.out.println(((Human)object).Do("啥都会"));
- }
- }
- }
- }
- 关于List常见使用方式
- 关于常见的Sampling方式
- 关于JAVA中使用remove方法循环删除list中元素的常见误区
- 关于Redis中的list常见的操作
- C# List<T>使用方式
- C# List<T>使用方式
- 关于二维数组常见调用方式
- 关于list的四种遍历方式
- 关于 C++ list 一些使用
- Hint的常见错误使用方式
- CString的常见使用方式例子代码
- DBUtils 常见的使用方式及介绍
- 常见数据库使用JDBC连接方式
- iOS 单元测试2- OCMock常见使用方式
- 常见的两种接口使用方式
- 关于Volley的使用方式
- 关于maven的使用方式
- 关于EL表达式使用方式
- 【转】Apache 2.2 +&nbs…
- 非常实用的15款开源PHP类库
- Java synchronized详解
- (转)初学Java多线程:使用Synchronized关键字同步类方法
- Hack games
- 关于List常见使用方式
- PF_RING
- my sql 学习笔记
- ubuntu 如何快速开终端
- 数据库范式——通俗易懂
- win7与VMware ubuntu虚拟机实现文件共享(最后一定要装open-vm-dkms插件)
- 数据库范式(1NF;2NF;3NF;BCNF)
- Ubuntu JDK安装配置详解
- 数据库范式(1NF;2NF;3NF,BCNF)