一些必须知道的JAVA基础知识

作为一名Android开发人员,面试的时候也会经常被问到一些java基础方面的。这就前段时间面试中遇到的一些java方面的,可能不全,只是我面试中遇到的。
写这篇博客只是为了自己在以后的面试中(虽然现在上班了)不要在被同样的问题难到,以后还会持续更新。

1. ArrayList 和 LinkedList:

1.两者是是集合,不同的是内部的数据结构和实现原理有所不同。ArrayList内部是数组结构,LinkedList内部是链表的数据结构。ArrayList的优点是get或set(查询)效率高。LinkedList是add(添加)和remove(删除)效率高。
2. ArrayList他既然是数组结构,数组就每一个元素都有索引,那么当向其中添加一个数据的话,则每一个元素的索引都会发生变化。这样导致效率地下。但是查询的话,我们可以根据索引很容易找到具体的元素。
LinkedList是链表数据结构,当向其中添加或者删除一个数据的时候,它只需要对其前后的数据改变引用即可。因此这方面它比ArrayList效率高。查询的话,由于链表,它必须从头到尾的去遍历,除非要找的元素正好在开头或者末尾,否则他是很好时的

这里写图片描述

2. Java类中的变量如果不写修饰符,则默认修饰符是什么 ?,是protected。

我面试的时候是直接给看了一张类似的图:
这里写图片描述
请问图中没有修饰符的textView的默认修饰符是什么。也是protected权限的

3. Java遍历List有几种方式,分别是什么?

  1. for循环(这个是最容易想到的)
  2. for eaceh
  3. Iterartor 迭代器遍历

示例代码:

public static void main(String[] args) {
         List<String> list = new ArrayList<>();
         for (int i = 1; i < 7; i++) {
            list.add("星期" + i);
        }

         listFor(list); //for循环
         listForEach(list);//foreach循环
         listIterator(list);//迭代器循环
    }

    private static void listIterator(List<String> list) {
        Iterator<String> iterator = list.iterator();
        while (iterator.hasNext()) {
            String i = (String) iterator.next();
            System.out.println("Iterator循环---"+i);
        }

    }

    private static void listForEach(List<String> list) {
        for (String string : list) {
            System.out.println("foreach循环---"+string);
        }
    }

    private static void listFor(List<String> list) {
        for (int i = 0; i < list.size(); i++) {
            System.out.println("for循环---"+list.get(i));
        }
    }

输出结果:

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值