java学习总结(16.07.18-16.07.21)集合与泛型
来源:互联网 发布:linux修改网络配置 编辑:程序博客网 时间:2024/06/05 15:31
集合
集合是指长度不定的一组元素(对象),java中集合有List,Set,Queue,Map四种。处理集合时需要用到集合类,而说到集合类,就得先从集合的借口说起
Collection接口
Collection接口是java.util包中集合的根接口。JDK中没有直接实现Collection接口的类,Collection有List,Set,Queue等子接口、而Collection接口中有一些用于操作集合的方法
boolean add(E e) //向当前集合中加入元素e,加入成功则返回true,加入失败返回false
boolean addAll(Collection<? extends E> c) //将一个集合的所有元素加入到当前集合中,若加入空集合返回false
boolean remove(Object o) //移除当前集合中指定的元素o,若o多次出现,则移除首次出现的o,移除成功返回true否则返回false
boolean removeAll(Collection<?> c)// 与remove方法同理
boolean isEmpty()//判断当前集合是否为空,若为空集合则返回true否则返回false
boolean isEmpty() //将当前集合转化为对象数组并作为结果返回
void clear() //清空当前集合
boolean contains(Object o) //判断集合是否包含有所指定的元素o,包含则返回true否则返回false
int size() //返回集合的长度(元素的个数)
List接口
List接口是Collection接口的一个子接口,List所操作的集合是有序且可重复的,List集合的元素都有对应的索引,List可以用到Collection的方法,其外,List也有自己的方法
void add(int index, E element) //将元素element加入到集合中指定的位置,index为索引,且从零开始
boolean addAll(int index,Collection<? extends E> c) //将集合c中的所有元素加入到当前集合的指定位置
E remove(int index) //移除索引所指位置的元素,返回结果为被移除的元素
E get(int index) //返回集合中指定索引处的元素
int indexOf(Object o) //返回指定元素o在集合中的索引值,若o不在集合中则返回-1
default void sort(Comparator<? super E> c) //按照c指定的规则对集合进行排序,默认是进行升序排序
Set接口
Set接口是Collection接口的子接口,Set集合中的元素是无序且不可重复的
Set集合如何判断元素是否相同?
若两元素同时满足以下两个条件则认为这两个元素相同:
①调用equals方法返回true
②两元素的hashcode相同
Queue接口
Queue接口是Collection接口的子接口,为队列集合,有着先进先出的特点。但并不常用,这里不作详述。
Map接口
Map接口是独立于Collection接口的另一个接口。Map集合的元素有着键—值映射关系(key,value)。对于Map集合,key不可重复。
Map 集合的方法
V put(K key,V value) //向集合中加入一对键值,返回值
V remove(K key) //将key的一组键值从集合中移除,返回值,若集合中无对应的键则返回null
V remove(K key,V value) //仅当键值相对应时,从集合中移除键值,不能移除返回null
V get(Object key) //获取集合中指定键的值,若找不到键key则返回null
Set<K> keySet() //将集合中所有元素的键,以Set集合的形式作为方法返回值
int size() //获取集合元素个数
boolean isEmpty() //判断集合是否为空
void clear() //清空集合
遍历集合——迭代器 Iterator
Iterator是一个依赖于Collection接口和Map接口的接口。Collection接口的所有实现类都实现了iterator()方法,该方法返回一个当前集合对应的一个实例,该实例为Iterator接口的直接间接实现类的实例,这些实例又称为迭代器,可用于遍历集合。 另外Iterator不可以遍历Map集合
Iterato的方法
boolean hasNext()//判断集合是否还有下一个元素,有则返回true,否则返回false
E next() //返回集合中下一个元素
具体用法
package fgb;import java.util.List;import java.util.ArrayList;import java.util.Iterator;public class TestForList {public static void main(String[] args) {List<Integer> l=new ArrayList<Integer>();l.add(1);l.add(3);l.add(2);Iterator<Integer> iterator=l.iterator();while(iterator.hasNext()){System.out.println(iterator.next());}}}
输出结果:123
泛型
package fgb;import java.util.List;import java.util.ArrayList;public class TestForGenericity {public static void main(String[] args) {List strList=new ArrayList();strList.add("abc");strList.add("abcdefg");strList.add(100);for(int i=0;i<strList.size();i++){String str=(String)strList.get(i);System.out.println(str.length());}}}
运行结果:37Exception in thread "main" java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Stringat fgb.TestForGenericity.main(TestForGenericity.java:13)因为integer类型不能转化成String类型所以程序出错了
- java学习总结(16.07.18-16.07.21)集合与泛型
- Java集合与框架总结与学习
- Java集合与框架总结与学习
- Java集合与框架总结与学习
- Java集合与框架总结与学习
- Java基础知识总结:集合与泛型(上)
- Java基础知识总结:集合与泛型(下)
- 【Java开发】--Java集合与框架总结与学习
- java集合学习总结
- java集合学习总结
- Java集合学习总结
- JAVA中的集合与泛型整理总结
- Java学习与实践--集合类与泛型
- java学习(11)集合框架总结
- java学习总结-集合(collection)
- JAVA集合学习总结(一)
- JAVA集合学习总结(二)
- java集合中hashSet与TreeSet学习总结
- 前端面试题总结
- 通俗易懂的理解卷积
- 佛家辞典
- POJ 1961 (KMP)
- 编译内核
- java学习总结(16.07.18-16.07.21)集合与泛型
- ServletContext 总结
- 功能类:二维码扫描(相机扫描,相册扫描)
- 五大常用算法之一:分治算法
- nginx 正则表达式匹配
- 提高listview性能的几个方法
- #码神心得_13# java基础类库3
- ping通百度却在浏览器中打不开 netsh winsock reset
- Windows 下 Apache HTTP Server 安装、配置以及与 Tomcat 的整合(附图)