1.将数组转换成字符串
char [] arrays ={'a','b','v'}; System.out.println( Arrays.toString(arrays)); //将数组转化成字符串,结果[a,b,v] String string2= new String(arrays); //将数组转换成字符串;结果 abv; Arrays.toString(arrays));
2.创建一个数组 保存三个学生;遍历学生信息;
//创建一个数组保存学生; Student array = new Student[3]; array[0]= new Student("张三","17") array[1]= new Student("李四","18") array[2]= new Student("王二","19") for (int i=0 ;i<array.length;i++){ //遍历数组;将对象转换成字符串; System.out.println(array[i].toString) //打印结果Student [name=坤, age=20] Student [name=的, age=22] Student [name=到, age=23] 是字符串; //另外一种遍历对象数组的方法; for(Student student : array){ sout(student) //第一位类型;第二位 参数 ;第三位这个数组 } }
3.关于collection介绍
定义: collection是个接口 ( 常用作集合用 );它下面有两个子接口分别为
1. List 2 . set
其中: List 是有序可重复集 set是无序可重复集;
List 又分成三类 1. ArrayList 2 . LinkList 3. Vector
ArraysList: 内部是由数组实现的,适合查询.
LinkList: 内部是由链表实现,适合增删改.
set 分为 1. HashSet 2. treeSet
HashSet 是二叉树.有序的.
TreeSet 采用散列存储.
position: collection是集合的接口,collection是集合的工具类
3.1 collection 集合常用的方法;
1.首先看看ArrayList的类是怎样实现colloction; 使用多态进行创建;
3. .contain(元素) : //判断集合是否包含该元素;
4. .remove(移除); //删除某一个元素;
5. .is.Empty(); // 判断是否为空;
6. .toArray(); //集合转数组;返回的是基类的类型;
7 . .clear(); //清空数组;
8 . c1.retainAll(c2) // 求交集 谁调用的方法,交集在谁里面,如果这个谁发生变化,返回值就是true;
9. removeAll() //删除的是调用的集合里面两个集合的交集;
10. c1.add(c2); //将c2作为c1集合里面的一个元素,添加
11. c1.addAll(c2); // 将c2的每一个元素都作为c1的元素添加进去;
//使用多态进行创建; Collection collection =new ArrayList; //对象.add("元素");往集合里面添加元素;添加完成以后,判断集合中是否有元素,返回是boolean; boolean add = collection.add("a"); boolean add = collection.add("b"); boolean add = collection.add("c"); System.out.println(collection);//打印结果是[a, b, c]的对象; //当你直接往几何中存入基本数据类型的时候,系统会自动帮你封装;
// 当你直接向集合中存储基本数据类型时候, // 系统帮你自动装箱; // 设计思想: 返回值使用需要能够适用下面的所有子接口; // Set集合是有可能添加失败的, boolean add3 = collection.add(10);// 如果d换成10 / false System.out.println(collection); // 获取元素个数 //System.out.println(collection);// 重写toString; //System.out.println(collection.size()); // 判断包含;里面的元素; boolean rel1 = collection.contains("a"); //System.out.println(rel1); // 删除某一个元素; 直接object来接受; boolean rel2 = collection.remove("b"); //System.out.println(rel2); //System.out.println(collection); // 判断是否为空; boolean rel3 = collection.isEmpty(); //System.out.println(rel3); // 集合转数组(返回的是基类的类型) Object[] array = collection.toArray(); for (Object object : array) { //System.out.println(object); } // 清空数组; collection.clear(); //System.out.println(collection);
@SuppressWarnings({ "unchecked", "rawtypes" }) public static void main(String[] args) { Collection c1 = new ArrayList(); c1.add("a"); c1.add("b"); c1.add("c"); c1.add("d"); Collection c2 = new ArrayList(); c2.add("a"); c2.add("b"); c2.add("c"); c2.add("d"); //add和addAll(c1, c2); //removeAll移除相同(c1, c2); //retainAll //谁调的方法,交集在谁里面,这个谁(调用)如果发生变化,返回的就是true;?true: boolean rel = c1.retainAll(c2); System.out.println(rel); System.out.println(c1); System.out.println(c2); } private static void removeAll移除相同(Collection c1, Collection c2) { //2. removeAll //删除的是调用集合的元素,元素指的是两个集合的交集; boolean rel = c1.removeAll(c2); System.out.println(c1); System.out.println(c2); System.out.println(rel); } private static void add和addAll(Collection c1, Collection c2) { // 添加方法; // 把c2当做一个元素添加到c1中; // c1.add(c2); // System.out.println(c1);//结果[a, b, c, d, [a, b, c, d]] // addall把c2的每个元素添加到c1中,元素可以重复; c1.addAll(c2); System.out.println(c1); }
4.迭代器(Iterator)
2.迭代器在遍历.时候效率比较高;
//迭代通俗的将就是一个一个来 Collection c = new ArrayList(); c.add("a"); c.add("b"); Iterator iterator = c.iterator; //调用迭代器方法,返回的是迭代器类型; while(iterator.hasNext){//如果集合中有下一个元素执行该条语句; Object next = iterator.next(); //数到什么就拿出来然后赋值给next; System.out.println("next"); //打印一下; }
5.List 接口是ArraysList和LinkedList 的父类
1.添加: list.add(2,"x")// 前一位参数添加位置,不能超过集合的size;后一位是添加的元素;
2.设置: list.set(0,"w")//替换前一位参数位置的元素;不能超过结合size;
4.删除: list.remove(index);//返回的是被删除的元素;
private static void list方法() { List list = new ArrayList(); list.add("a"); list.add("b"); list.add("c"); list.add("d"); // 添加 // list.add(2,"x"); //不能超出集合的元素个数 size; // System.out.println(list); // 设置 // list.set(0, "w");//如果填4,会报错位置超了; // 替换该位置的元素; // System.out.println(list); // 获取下表处的元素 因为不知道你从集合里面取出来什么元素,所以一律是object; Object object = list.get(0); // System.out.println(object); // 删除; 返回的是删除的元素; Object remove = list.remove(0); System.out.println(remove); // 利用get方法遍历集合; for (int i = 0; i < list.size(); i++) { // 打印元素 // System.out.println(list.get(i));
5.1 Vetor接口 : 应用:快速枚举器
Vector vector = new Vector(); Vector.add("a"); Vector.add("b"); //遍历这个集合 获取快速枚举器; Enumeration elements = vector.elements(); while(elements.hasMoreElements){ System.out.println(elements.nextElement()); }
6.ArraysList 和LinkList区别是什么?
ArraysList :查询块,增删慢,数组实现的; 数组是一块连续的空间;
LinkList: 查询慢,增删块,链表实现的;