-------------------------------------------------------------------------------------
* boolean remove(Object o)
* 从集合中删除元素,成功返回true
*删除原则:
*删除集合中第一个给定元素equals比较为true的元素。
*equals必须被重写,remove方法只删除一个元素
-------------------------------------------------------------------------------------
* 新循环不是JVM支持的新语法,而是编译器支持的。
* 编译器在编译源程序时,发现我们使用新循环遍历集合时
* 会将这段代码改为使用迭代器方式实现
* 所以新循环在遍历集合时,不能通过集合的方法修改元素。
-------------------------------------------------------------------------------------
* Collection提供了统一遍历集合元素的方法
* 迭代器模式
* Iterator 本身是一个接口,每一种集合的实现类都有各自的迭代器实现
* 我们不需要关系具体迭代器的类型
* 只将他们当做迭代器遍历集合元素即可
*
* 使用迭代器遍历集合元素应遵循: 问-取-删 的步骤
* 其中 删 不是必须的操作
boolean hasNext() 询问集合中是否有元素可以取出
* 迭代过程中不能通过集合的方法删除元素,可以通过迭代器本身的方法
-------------------------------------------------------------------------------------
* 集合可以转换为数组
* 使用的是Collection 中定义的方法toArray();
String[] array=c.toArray(new String[c.size()]);
for(String str:array){System.out.println(str);}
-------------------------------------------------------------------------------------
* 数组转集合
* 需要使用Arrays的静态方法asList
* 转换后的集合是只读的
* 所有的集合都支持一个构造方法,就是参数为Collection
* 该构造方法的作用是创建当前集合的同时,将给定的集合中所有元素添加到当前集合中
List<String> list = Arrays.asList(array);
System.out.println(list);
List<String> list2=new ArrayList<String>(list);
list2.add("five");
-------------------------------------------------------------------------------------
Collection 是集合的总接口
Collections 是集合的工具类 * 其定义的静态方法sort用于对List集合进行自然排序
Collections.sort(list);使用时必须实现Comparable接口
-------------------------------------------------------------------------------------
* java.util.Map
* 以key-value的形式保存元素
* 看起来很像一个两行多列的表格
* V put(K k , V v)
* 将给定的key与value存入Map中
* 1:给定的Key不存在,正常存入元素,返回值为null
* 2:给定的Key存在,叫做替换value操作。返回值就是被替换的元素
* 获取元素的方式:
* 根据给定的key获取对应的value
* V get(K k)
* 若给定的key在Map中不存在,则返回null
* boolean containsKey(K k)
* 查看当前Map中是否包含给定的Key
* 这里是否包含依靠equals比较的结果
-------------------------------------------------------------------------------------
*** 重写一个类的hashcode()方法有以下注意事项:
1、若一个类重写了equals方法,那么就应当重写hashcode()方法。
2、若两个对象的equals方法比较为true,那么它们应当具有相同的hashcode值。
3、对于同一个对象而言,在内容没有发生改变的情况下,多次调用hashCode()方法应当总是返回相同的值。
4、对于两个对象equals比较为false的,并不要求其hashcode值一定不同,但是应尽量保证不同,这样可以提高散列表性能。
* 遍历所有的Key
* Set(K) keySet()
* 该方法会将Map中所有的key存入一个Set集合并返回
* 所以,遍历集合就等于遍历所有的key
* 遍历Map中每一组键值对
* Set entrySet()
* 每一个Entry实例表示Map中的一组键值对
Set<Entry<String,Integer>> entrySet=map.entrySet();
* 遍历所有的Value
Collection<Integer> values=map.values();
-------------------------------------------------------------------------------------
* java.io.File
* File用于描述文件系统中的一个文件或目录
* 使用File可以获取表示的文件或目录的属性信息
* 也可以使用File来操作文件或目录(创建,删除等)
* 但是不能通过File操作文件内容.
File file = new File("."+File.separator+"demo.txt");
————————————华丽的分割线——————————————————
希望对大家有帮助! 谢谢!
|