Java中List的详细用法

这篇具有很好参考价值的文章主要介绍了Java中List的详细用法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Java中List的详细用法

LinkListed用法:链接: link.
定义:List name = new ArrayList<>()

具体方法如下:

1.list中添加,获取,删除元素;

添加方法是:.add(e);  获取方法是:.get(index);  删除方法是:.remove(index); 按照索引删除;  .remove(Object o); 按照元素内容删除;

List<String> person = new ArrayList<>();
		person.add("jackie");
		person.add("peter");
		person.add("annie");
		person.add("martin");
		person.add("marry");
		
		person.remove(3);
		person.remove("marry");
		
		String per="";
		per = person.get(1);
		System.out.println("per:"+per);
		System.out.print("result:");
		for(String pers : person)
		{
			System.out.print("\t"+pers);
		}

结果为:

per:peter
result:	jackie	peter	annie

2.list中是否包含某个元素;

方法:.contains(Object o); 返回true或者false

List<String> fruits = new ArrayList<>();
		fruits.add("苹果");
		fruits.add("香蕉");
		fruits.add("桃子");
		System.out.println("fruits中包含水果:");
		for(int i=0;i<fruits.size();i++)
		{
			System.out.println(fruits.get(i));
		}
		
		String appleString = "苹果";
		System.out.printf("fruits中%s苹果\n",fruits.contains(appleString)?"包含":"不包含");
		
		if(fruits.contains(appleString))
			System.out.println("我喜欢吃苹果");
		else
			System.out.println("我不喜欢吃苹果");

结果为:

fruits中包含水果:
苹果
香蕉
桃子
fruits中包含苹果
我喜欢吃苹果

3.list中根据索引将元素数值改变(替换);

注意 .set(index, element); 和 .add(index, element); 的不同;set是将替换该索引位置的值而add是在该索引位置插入一个值;

String a = "白龙马", b = "沙和尚" , c ="八戒" , d="唐僧" , e = "悟空";
 		List<String> people = new ArrayList<>();
		people.add(a);
		people.add(b);
		people.add(c);
		people.set(0, d);
		people.add(1,e);
		System.out.print("result:");
		for(String s : people)
			System.out.print(s+"\t");

结果为:

result:唐僧	悟空	沙和尚	八戒

4.list中查看(判断)元素的索引;

注意:.indexOf(); 和 lastIndexOf()的不同;前者是第一个该值得索引,后者是最后一个该值得索引;

List<String> names = new ArrayList<>();
		names.add("刘备");
		names.add("关羽");
		names.add("张飞");
		names.add("刘备");
		names.add("张飞");
		System.out.println(names.indexOf("刘备"));
		System.out.println(names.lastIndexOf("刘备"));
		System.out.println(names.indexOf("张飞"));
		System.out.println(names.lastIndexOf("张飞"));

结果为:

0
3
2
4

5.利用list中索引位置重新生成一个新的list(截取集合);

方法: .subList(fromIndex, toIndex);  .size() ; 该方法得到list中的元素数的和

List<String> phone = new ArrayList<>();
		phone.add("三星");
		phone.add("苹果");
		phone.add("锤子");
		phone.add("华为");
		phone.add("小米");
		System.out.print("原集合为:");
		for(String pho:phone)
			System.out.print(pho+"\t");
		phone = phone.subList(1, 4);
		System.out.print("\n子集合为:");
		for(int i=0;i<phone.size();i++)
			System.out.print(phone.get(i)+"\t");

结果为:

原集合为:三星	苹果	锤子	华为	小米	
子集合为:苹果	锤子	华为	

6.对比两个list中的所有元素;

两个相等对象的equals方法一定为true, 但两个hashcode相等的对象不一定是相等的对象

List<String> fruits=new ArrayList<>();
        fruits.add("苹果");
        fruits.add("香蕉");
        fruits.add("桃子");
        
        List<String> fruit=new ArrayList<>();
        fruit.add("苹果");
        fruit.add("香蕉");
        fruit.add("桃子");
        
        List<String> person=new ArrayList<>();
        person.add("jackie");   //索引为0  //.add(e)
        person.add("peter");    //索引为1
        person.add("annie");    //索引为2
        person.add("martin");   //索引为3
        person.add("marry");    //索引为4
        
        if(fruit.equals(fruits))
        	System.out.println("两个list中的所有元素相同");
        else
        	System.out.println("两个list中的所有元素不一样");
        
        if(person.equals(fruits))
        	System.out.println("两个list中的所有元素相同");
        else
        	System.out.println("两个list中的所有元素不一样");
        if(person.hashCode()==fruits.hashCode())
        	System.out.println("我们相同");
        else
        	System.out.println("我们不一样");

结果为:

两个list中的所有元素相同
两个list中的所有元素不一样
我们不一样

7.判断list是否为空;

空则返回true,非空则返回false

if (person.isEmpty()) {
    System.out.println("空的");
}else {
    System.out.println("不是空的");
}

结果为:

不是空的

8.返回Iterator集合对象;

System.out.println("返回Iterator集合对象:"+person.iterator());

结果为:

返回Iterator集合对象:java.util.ArrayList$Itr@52cc8049

9.将集合转换为字符串;

String liString ="";
       liString = person.toString();
       System.out.println("将集合转换为字符串:"+liString);

结果为:

将集合转换为字符串:[jackie, peter, annie, martin, marry]

10.将集合转换为数组;

System.out.println("将集合转换为数组:"+person.toArray());

结果为:文章来源地址https://www.toymoban.com/news/detail-432255.html

将集合转换为数组:[Ljava.lang.Object;@52cc8049

到了这里,关于Java中List的详细用法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • mingw64下动态库和静态库链接的真正区别和用法(详细)

    笔者一直以来都对mingw64下动态库和静态库链接的真正区别和用法存疑,于是做了一些测试,这篇文章记录了测试过程和测试结果,如果只想知道结果可以跳转到文章末尾 首先准备三个测试文件 其中add.c最终会被编译会静态库或动态库,被测试文件main.c调用 使用如下命令构建

    2024年02月05日
    浏览(37)
  • Java从List中删除元素的正确用法

    还是先举个例子,你侄女对天文知识感兴趣,然后你就用程序写了太阳系九大星系(水星、金星、地球、火星、木星、土星、天王星、海王星、冥王星)的运行轨迹图,然后拿给侄女看。然后她说错了错了,你的知识太旧了,多了一颗星。根据2006年8月24日国际天文联合大会召

    2024年02月09日
    浏览(40)
  • 13 Link(链接)

    静态链接(Static Linking)是编译程序时链接库的一种方法。在静态链接过程中,程序所需的库文件会被嵌入到最终的可执行文件中。这样,程序在运行时不需要动态加载外部库文件。静态链接的过程主要包括以下步骤: 编译源代码:首先,将源代码编译成目标文件(object fi

    2023年04月11日
    浏览(29)
  • Java 定义返回一个不能被修改、删除元素的List

      为啥突然分享下这个,也是从mybatis源码看到了,所以想分享下: org.apache.ibatis.plugin.InterceptorChain   使用 Collections.unmodifiableList(); 示例: 运行效果: 不给动。  

    2024年02月13日
    浏览(48)
  • iOS-配置Universal Links通用链接

    1、开启Associated Domains服务 登录苹果开发者网站,在 Certificates, Identifiers Profiles 页面左侧选择 Identifiers ,右侧选择对应的 App ID ,点击进入配置详情页,开启 Associated Domains 服务; 2、更新Profile文件(配置文件) 在 Certificates, Identifiers Profiles 页面左侧选择 Profiles ,右侧选择对

    2024年02月11日
    浏览(36)
  • Linked List Mock

    203. Remove Linked List Elements Solved Easy Topics Companies Given the  head  of a linked list and an integer  val , remove all the nodes of the linked list that has  Node.val == val , and return  the new head . 206. Reverse Linked List Solved Easy Topics Companies Given the  head  of a singly linked list, reverse the list, and return  the reversed

    2024年04月12日
    浏览(34)
  • 链表 Linked List

    2024.3.15 芝士wa 参考视频:bilibli-数据结构-链表 “印度小哥讲得真好” 对于链表来说,存储数据需要两个部分,一是数据本身,二是指针,该指针指向下一个数据的地址,依次链接,直到最后一个元素,指针指向空(NULL) 遍历的时间复杂度为O(n) 插入的时间复杂度为O(n) 删除

    2024年03月17日
    浏览(40)
  • Linked List

    补充知识 typedef 给类型换名字,比如 或者来一个结构体指针定义。 离散存储 离散的含义,任何一个点到其他点之间是有间距的。 n个节点离散分配,彼此通过指针相连接,每个节点只有一个前驱节点,每个节点只有一个后继节点,首节点没有前驱节点,尾节点没有后继节点

    2024年02月15日
    浏览(36)
  • java通用实现List<自定义对象>中指定字段和指定排序方式

    Person类: 工具类: 结果:

    2024年02月04日
    浏览(44)
  • 二、链表(linked-list)

    链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下

    2024年02月07日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包