JavaSE复习基础巩固
Posted 编程玩家1号
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaSE复习基础巩固相关的知识,希望对你有一定的参考价值。
boolean add(Object e): 向集合中添加元素
boolean addAll(Collection e): 向集合中添加元素
void clear():清空集合中所有元素
boolean contains(Object o):判断集合中是否包含某个元素
boolean isEmpty():判断集合中的元素是否为空
boolean remove(Object o):根据元素的内容来删除某个元素
例子:
/* boolean add(Object e): 向集合中添加元素 boolean addAll(Collection e): 向集合中添加元素 void clear():清空集合中所有元素 boolean contains(Object o):判断集合中是否包含某个元素 boolean isEmpty():判断集合中的元素是否为空 boolean remove(Object o):根据元素的内容来删除某个元素 int size():获取集合的长度 Object[] toArray():能够将集合转换成数组并把集合中的元素存储到数组中*/ //创建collection对象 多态:父类的引用指向子类的对象 Collection c=new ArrayList(); //调用父类collection里面的方法,但是具体实现是在子类ArrayList中 //1 boolean add(Object e): 向集合中添加元素 // c.add(1);//这里有一个自动装箱的过程 包装类 c.add("zhangsan"); c.add("lisi"); c.add("wangwu"); c.add("wangwu"); //可以重复 为什么ArrayList集合添加数据时可以重复?因为add()的返回值永远为true System.out.println(c);//存和取的顺序是一致的 输出结果:[zhangsan, lisi, wangwu] //创建集合 Collection c=new ArrayList(); //往集合里面添加数据 c.add("张三"); c.add("李四"); c.add("王五"); // method1(c); // Object[] toArray():能够将集合转换成数组并把集合中的元素存储到数组中 Object[] arr = c.toArray(); for (int i = 0; i < arr.length; i++) { System.out.print(arr[i]+" "); } } private static void method1(Collection c) { Collection c1=new ArrayList(); // boolean addAll(Collection e): 向集合中添加元素 相当于复制集合 c1.addAll(c); System.out.println(c1); // void clear():清空集合中所有元素 // c.clear(); [] 空 // boolean contains(Object o):判断集合中是否包含某个元素 System.out.println(c.contains("赵六"));//false System.out.println(c.contains("李四"));//true // boolean isEmpty():判断集合中的元素是否为空 System.out.println(c.isEmpty());//false // boolean remove(Object o):根据元素的内容来删除某个元素 System.out.println("是否删除成功:"+c.remove("张三"));//true System.out.println(c); // int size():获取集合的长度 System.out.println(c.size()); }
package com.swlz.collection; import java.util.ArrayList; import java.util.List; import java.util.ListIterator; public class CollectionDemo4 { public static void main(String[] args) { //创建集合对象 List c=new ArrayList(); //添加数据 c.add("张三"); c.add("李四"); c.add("王五"); c.add("赵六"); c.add("钱七"); //为了解决使用Colletion 集合迭代器发生的并发修改异常问题,我们要使用List集合的迭代器 /*ListIterator<E> listIterator() 返回此列表元素的列表迭代器(按适当顺序)。 */ ListIterator lit = c.listIterator(); //遍历集合 while(lit.hasNext()){ String s1=(String)lit.next(); if(s1.equals("钱七")){ //使用List集合的迭代器可以解决 添加元素的并发修改异常 //删除的并发修改异常也能解决,但是只能删除条件本身 lit.add("隔壁老王"); // lit.remove();//删除钱七 } } System.out.println(c); } }
package com.swlz.collection; import java.util.ArrayList; import java.util.List; public class ListDemo1 { public static void main(String[] args) { /* void add(int index, E element) :将元素添加到index索引位置上 E get(int index) :根据index索引获取元素 E remove(int index) :根据index索引删除元素 E set(int index, E element):将index索引位置的的元素设置为element 修改*/ List list=new ArrayList(); //将元素添加到index索引位置上 list.add("詹"); list.add("李"); list.add("彭"); System.out.println(list); // E get(int index) :根据index索引获取元素 System.out.println(list.get(0)); System.out.println(list.get(1)); System.out.println(list.get(2)); // E remove(int index) :根据index索引删除元素 list.remove(0); System.out.println(list); //E set(int index, E element):将index索引位置的的元素设置为element 修改 list.set(0,"张三");//把索引为0的元素改为张三 } }
LinkedList底层使用的是链表结构,因此增删快,查询相对ArrayList较慢
void addFirst(E e) :向链表的头部添加元素
void addLast(E e):向链表的尾部添加元素
E getFirst():获取链头的元素,不删除元素
E getLast():获取链尾的元素,不删除元素
E removeFirst():返回链头的元素并删除链头的元素
E removeLast():返回链尾的元素并删除链尾的元素
1.代码
import java.util.LinkedList;
/*
* List的常用子类:
* ArrayList
* 底层是数组结构,查询快,增删慢
* LinkedList
* 底层结构是链表,查询慢,增删快
*
* 如何选择使用不同的集合?
* 如果查询多,增删少,则使用ArrayList
* 如果查询少,增删多,则使用LinkedList
* 如果你不知道使用什么,则使用ArrayList
*
* LinkedList的特有功能:
* void addFirst(E e)
* void addLast(E e)
E getFirst()
E getLast()
E removeFirst()
E removeLast()
*
*/
public class LinkedListDemo {
public static void main(String[] args) {
LinkedList list = new LinkedList();
list.add("hello");
list.add("world");
//void addFirst(E e) :将元素添加到索引为0的位置
//void addLast(E e) :将元素添加到索引为size()-1的位置
list.addFirst("java");
list.addLast("android");
//E getFirst() :获取索引为0的元素
//E getLast() :获取索引为size()-1的元素
//System.out.println(list.getFirst());
//System.out.println(list.getLast());
//E removeFirst() :删除索引为0的元素并返回
//E removeLast() :删除索引为size()-1的元素并返回
System.out.println(list.removeFirst());
System.out.println(list.removeLast());
System.out.println(list);
}
}
Collections工具类---是专门用来操作List集合的工具类
什么叫工具类?---工具类里面封装了很多的方法,提供给对应的数据使用,
工具类中的方法一般都是静态的,方便通过类名直接调用
例子:
package com.swlz.collection; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class CollectionsDemo1 { public static void main(String[] args) { //Collections工具类---是专门用来操作List集合的工具类 //什么叫工具类?---工具类里面封装了很多的方法,提供给对应的数据使用, // 工具类中的方法一般都是静态的,方便通过类名直接调用 /* static int binarySearch(List list, Object key) 使用二分查找法查找指定元素在指定列表的索引位置 static void copy(List dest, List src) :是把源列表中的数据覆盖到目标列(复制集合) * static void fill(List list, Object obj) :使用指定的对象填充指定列表的所有元素 //static void reverse(List list) :反转 * //static void shuffle(List list):傻否,随机置换 * //static void sort(List<T> list) :按照列表中元素的自然顺序进行排序 * //static void swap(List list, int i, int j) :将指定列表中的两个索引进行位置互换*/ List list=new ArrayList(); list.add(5); list.add(3); list.add(7); list.add(2); list.add(9); int i = Collections.binarySearch(list, 7);//使用二分查找法查找指定元素在指定列表的索引位置 System.out.println(i);//index是2 } }
以上是关于JavaSE复习基础巩固的主要内容,如果未能解决你的问题,请参考以下文章