java基础随笔12

Posted xyt123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java基础随笔12相关的知识,希望对你有一定的参考价值。

一、请简述集合框架。

集合是单列集合类的根接口,用于存储一系列符合某种规则的元素,它有两个重要的子接口,分别是java.util.Listjava.util.Set。其中,List的特点是元素有序、元素可重复。Set的特点是元素无序,而且不可重复。List接口的主要实现类有java.util.ArrayListjava.util.LinkedListSet接口的主要实现类有java.util.HashSetjava.util.TreeSet

技术图片

 

 

 


二、给定以下代码,请定义方法listTest()统计集合中指定元素出现的次数,如"a": 2,“b”: 2,"c" :1, “xxx”:0。

package com.ben.www;

import java.util.ArrayList;
import java.util.List;

public class Demo2 {
    static   void listTest(List<String> arrayList,String val){
        int a=0;
        for (String list:arrayList) {
            if (list.equals(val)){
                a++;
            }
            
        }
        System.out.println(val+""+a);
    }
    public static void main(String[] args) {
        List<String> list=new ArrayList<String>();
        list.add("a");
        list.add("b");
        list.add("c");
        list.add("a");
        list.add("d");
        list.add("e");
        list.add("b");
        list.add("a");
        list.add("c");
        list.add("xxx");
        list.add("a");
        list.add("b");
        list.add("c");
        list.add("xxx");
        listTest(list,"a");
        listTest(list,"b");
        listTest(list,"c");
        listTest(list,"xxx");
    }

}

 

 


三、定义一个方法,要求此方法把int数组转成存有相同元素的集合(集合里面的元素是Integer),并返回。

package com.ben.www;

import java.util.ArrayList;
import java.util.List;

public class Demo3 {
    static ArrayList zhuan(int[] list){
        ArrayList<Integer> arr1=new ArrayList<Integer>();
        for (Integer val:list) {
            arr1.add(val);
        }
        return arr1;

    }
    public static void main(String[] args) {
        int[] arr= {1,5,3,6,73,4};
        System.out.println(zhuan(arr));

    }
}

 

 


四、定义一个集合,并把集合(集合里面的元素是Integer)转成存有相同元素的数组,并将结果输出在控制台。(可以使用Object[]数组类型接收转换的数组)

技术图片
package com.ben.www;

import java.util.ArrayList;

public class Demo4 {
    public static void main(String[] args) {
        Integer[] arr={1,54,3,6,1,46,57};
        ArrayList<Object> arrlist=new ArrayList<Object>();
        for (Integer arr1:arr
             ) {
            arrlist.add(arr1);
        }
        System.out.println(arrlist);

    }
}
技术图片

 


五、定义一个方法listTest(ArrayList al, String s),要求使用contains()方法判断al集合里面是否包含s。

技术图片
package com.ben.www;

import java.util.ArrayList;

public class Demo5 {
    static boolean listTest(ArrayList a1, String s){
            return a1.contains(s);


    }
    public static void main(String[] args) {
        ArrayList a1=new ArrayList();
        a1.add("a");
        a1.add("r");
        a1.add("e");
        a1.add("s");
        a1.add("w");
        if (listTest(a1,"ss") == true) {
            System.out.println("包含有");
        }else {
            System.out.println("没有包含");
        }
    }
}
技术图片

 


六、请简述迭代器的实现原理

技术图片
package com.ben.www;

public class Demo6 {
    /*
    * 在Java中遍历List时会用到Java提供的Iterator,Iterator十分好用,原因是:

迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构。迭代器通常被称为“轻量级”对象,因为创建它的代价小。

  Java中的Iterator功能比较简单,并且只能单向移动:

  (1) 使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方法时,它返回序列的第一个元素。注意:iterator()方法是java.lang.Iterable接口,被Collection继承。

  (2) 使用next()获得序列中的下一个元素。

  (3) 使用hasNext()检查序列中是否还有元素。

  (4) 使用remove()将迭代器新返回的元素删除。
* */
}
技术图片

 


七、定义一个方法listTest(ArrayList al, Integer s),要求返回s在al里面第一次出现的索引,如果s没出现过返回-1。

技术图片
package com.ben.www;

import java.util.ArrayList;

public class Demo7 {
    static int listTest(ArrayList a1, Integer s){

        return a1.indexOf(s);
    }
    public static void main(String[] args) {
        ArrayList arr=new ArrayList();
        arr.add(3);
        arr.add(5);
        arr.add(6);
        arr.add(1);
        arr.add(7);



        System.out.println(listTest(arr,11));
    }
}






以上是关于java基础随笔12的主要内容,如果未能解决你的问题,请参考以下文章

Java 基础入门随笔(11) JavaSE版——继承

Java基础随笔1

随笔java面试基础

JAVA随笔篇一(Timer源代码分析和scheduleAtFixedRate的使用)

Java基础随笔2

2017/05/08 java 基础 随笔