ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java集合入门篇

2022-06-19 08:02:29  阅读:149  来源: 互联网

标签:java list System 入门篇 add 集合 println out


转自:

 http://www.java265.com/JavaCourse/202206/3753.html

下文将对java集合进行详细的讲解,如下所示

Java集合的概念

java集合特性:
  1.大小不固定,但可动态变化
  2.类型可不固定,因为其是一个泛型集合容器
  3.集合非常适合元素的增删操作

java集合注意事项:
   java集合中只能存入引用类型数据
    如果要储存基本类型数据,需使用包装类

java集合使用场景:
    当存储数据的数量未知的情况下
	 可以通过定义集合来实现
     可以有效的避免容量不够 

java集合

java集合分为两大不同结构
  一:Collection(用于存储单列数据)
      每个元素在集合中只存储一个值
  二:Map(用于存储双列数据)
      每个元素采用键值对的方式存储

java集合每一个分类的特性

List系列集合:添加的元素是有序、可重复、有索引
ArrayList、LinekdList:有序、可重复、有索引
Set系列集合:添加的元素是无序、不重复、无索引
HashSet:无序、不重复、无索引
LinkedHashSet:有序、不重复、无索引
TreeSet:按照大小默认升序排序、不重复、无索引
List系列集合:有序、可重复、有索引 

 

 

例:
Collection list = new Arrayslist();
list.add("Java265");
list.add("Java265");
list.add("刘允熙");
list.add(891);
list.add(678);
list.add(true);
list.add(false);
System.out.println(list);
//输出结果:
[Java265,Java265,刘允熙,891,678,true,false]
Set系列集合:无序、不重复、无索引

Collection list = new HashSet();
list.add("Java265");
list.add("Java265");
list.add("刘允熙");
list.add(891);
list.add(678);
list.add(true);
list.add(false);
System.out.println(list);
//输出结果:
[false, 刘允熙, 678, Java265, 891, true]

集合对于泛型的支持

java中集合都是支持泛型
    用于在编译阶段约束集合只能操作某种数据类型
例:
  Collection<String> lists = new ArrayList<String>();
  Collection<String> lists = new ArrayList();//JDK1.7开始后面的泛型类型可以省略不写

注意事项:
  1.集合和泛型都只支持引用数据类型,不支持基本数据类型
  2.集合中存储的元素一定是对象
 报错写法:
Collection<int> lists = new ArrayList<>();//报错

集合中存储基础类型的放啊

Collection<Integer> lists = new ArrayList<>();
Collection<Double> lists = new ArrayList<>();

Collection常用API

 
public static void main(String[] args) {
        Collection<String> list = new ArrayList<>();
        //1、添加元素,成功则返回true
        list.add("Java265");
        System.out.println(list.add("刘允熙"));
        System.out.println(list);
        System.out.println("------------------------");
        //2、清空集合中的元素
        list.clear();
        System.out.println(list);
        System.out.println("------------------------");
        //3、判断元素是否为空,是空返回true,反之则false
        System.out.println(list.isEmpty());
        //4、获取集合的大小
        System.out.println("------------------------");
        System.out.println(list.size());
        System.out.println("------------------------");
        //5、判断集合中是否包含某个元素
        list.add("Java265");
        list.add("刘允熙");
        System.out.println(list.contains("Java265"));
        System.out.println("------------------------");
        //6、删除某个元素,若有重复,则默认删除第一个
        list.add("Java265");
        System.out.println(list);
        list.remove("石原静香");
        list.remove("Java265");
        System.out.println(list);
        System.out.println("------------------------");
        //7、把集合转换成数组
        Object[] array = list.toArray();
        System.out.println(Arrays.toString(array));
        System.out.println("------------------------");
        //8、将一个集合中的元素添加到另一个集合中
        Collection<String> l1 = new ArrayList<>();
        Collection<String> l2 = new ArrayList<>();
        l1.add("Java265");
        l1.add("刘允熙");
        l2.add("朱茵");
        l2.add("紫霞仙子");
        l1.addAll(l2);
        System.out.println(l1);
        System.out.println(l2);//l2中的元素没有变化
 
    }

遍历Java集合的方式

迭代器遍历
 遍历就是一个一个的把容器中的元素访问一遍
迭代器在Java中的代表是iterator,迭代器是集合的专用遍历方式 
Collection<String> list = new ArrayList<>();
list.add("Java265");
list.add("刘允熙");
list.add("朱茵");
list.add("紫霞仙子");
Iterator<String> it = list.iterator();
while(it.hasNext){//判断索引处有无值
    System.out.println(it.next);//从零索引开始取值,取过值以后,索引后移
}
增强for循环
 增强for循环
    既可以遍历集合也可以遍历数组
它是JDK5之后出现的
    其内部原理是一个lterator迭代器
    遍历集合相当于是迭代器的简化写法
实现lterable接口的类才可以使用迭代器和增强for
   Collection接口已经实现了lterable接口
增强for循环的语法格式
for(元素数据类型 变量名 : 数组或者Collection集合){
        在此处使用变量即可,该变量就是元素
} 
Collection<String> list = new ArrayList<>();
for(String s : list){
    System.out.println(s);
}

Lambda表达式对java集合的操作

例:采用匿名内部类对集合进行操作
Collection <String>list = new ArrayList<>();
list.forEach(new Consumer<String>(){
    @Override
    public void accept(String s){
        System.out.println(s);
    }
});
//简化为Lambda表达式
list.forEach(s->{
    System.out.println(s);
});
//或者更加简化:
list.forEach(s -> System.out.println(s));

集合存储自定义类的变量

例:
创建一个User类
分别创建两个对象s1和s2
将这两个对象储存在集合之中
并通过遍历方法进行输出
Collection<User> Users = new ArrayList<>();
        User s1 = new User("柳絮","智能",26,1);
        Users.add(s1);
        User s2 = new User("李世民","数据库",16,2);
        Users.add(s2);
        for(User User:Users){
            System.out.println("姓名:"+User.getName());
            System.out.println("学号:"+User.getNum());
            System.out.println("年龄:"+User.getAge());
            System.out.println("班级:"+User.getClassroom());
            System.out.println("-------------------------");
        }

标签:java,list,System,入门篇,add,集合,println,out
来源: https://www.cnblogs.com/java265/p/16388683.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有