Java 数组ArrayList常用语法详解

前端之家收集整理的这篇文章主要介绍了Java 数组ArrayList常用语法详解前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

恶补基础,记录一下数组ArrayList的常用语法@H_301_1@

1.导入@H_301_1@

  1. import java.util.ArrayList;

2.定义数组list @H_301_1@

ArrayList<类名> list = new ArrayList<类名>(); 不能是基本类型,必须是类@H_301_1@

3.获取集合大小@H_301_1@

size()@H_301_1@

4.存入数据@H_301_1@

add(Object object);从下标0开始加入@H_301_1@

add(int idx,Object object);将object插入索引为idx的位置,idx<=list.size();@H_301_1@

存进不同的对象要单个new,不能通过改变值后加入数组。(涉及到内存)@H_301_1@

5.删除@H_301_1@

remove(int idx);删除索引为idx的元素,返回该元素,可以用变量去接收,也可不接收@H_301_1@

6.清空@H_301_1@

clear(); 清空数组@H_301_1@

7.替换@H_301_1@

set(int idx,Object object); 把object元素和原本索引为idx的元素替换@H_301_1@

8.获取指定位置元素@H_301_1@

Object get(int idx);@H_301_1@

9.判空@H_301_1@

bool isEmpty(); 一般不用,size()可以用于判空@H_301_1@

10.判断是否有某元素@H_301_1@

bool contains(Object object); 基本不用,可以通过查找元素的索引来解决@H_301_1@

11.查找元素的索引@H_301_1@

int indexOf(Object object); 如果元素存在,则返回索引,否则返回-1,通过是不是-1判断元素在不在数组里@H_301_1@

12..对数组list排序@H_301_1@

导入Collections类;@H_301_1@

  1. import java.util.Collections;

(1)默认自然排序,从小到大@H_301_1@

Collections.sort(list); //不可以new出Collections的对象,直接用@H_301_1@

(2)自定义排序@H_301_1@

导入Comparator类;@H_301_1@

  1. import java.util.Comparator;

创建对象的时候需要实现抽象方法compare(),实现自定义排序@H_301_1@

  1. package my_acm;
  2. import java.util.ArrayList;
  3. import java.util.Collections;
  4. import java.util.Comparator;//自定义排序
  5. //import java.lang.Integer;//lang包中的类不用导也能直接用
  6. public class MyTest4 {
  7. public static void main(String [] args) {
  8. ArrayList<Point> list1 = new ArrayList<Point>();
  9. ArrayList<Integer> list2 = new ArrayList<Integer>();
  10. //ArrayList<int> list3 = new ArrayList<int>();//报错,基本数据类型不能
  11. Comparator<Point> comparator = new Comparator<Point>() {
  12. public int compare(Point p1,Point p2) {
  13. if(p1.id!=p2.id)
  14. return p1.id-p2.id;
  15. else
  16. {
  17. if(p1.age!=p2.age)
  18. return p1.age-p2.age;
  19. else
  20. return 0;//不像C++,这里的if-else需要匹配
  21. }
  22. }
  23. };
  24. Point p1 = new Point();
  25. p1.id=11;p1.age=21;
  26. list1.add(p1);
  27. Point p2 = new Point();
  28. p2.id=9;p2.age=44;
  29. list1.add(p2);
  30. Point p3 = new Point();
  31. p3.id=2;p3.age=68;
  32. list1.add(p3);
  33.  
  34. /** 修改变量的值在加到数组里是不可行的,(
  35. p3.id=14;p3.age=23;
  36. list1.add(p3);
  37. */
  38. for(int i=0;i<list1.size();i++) {
  39. System.out.println( "i="+i+" id="+list1.get(i).id+" age="+list1.get(i).age);
  40. }
  41. Collections.sort(list1,comparator);
  42. System.out.println("按id排序后");
  43.  
  44. for(int i=0;i<list1.size();i++) {
  45. Point x = new Point();
  46. x=list1.get(i);
  47. System.out.println( "i="+i+" id="+x.id+" age="+x.age );
  48. }
  49. }
  50. }
  51. class Point{
  52. int id;
  53. int age;
  54. }

输出结果:@H_301_1@

  1. i=0 id=11 age=21
  2. i=1 id=9 age=44
  3. i=2 id=2 age=68

按id排序后@H_301_1@

  1. i=0 id=2 age=68
  2. i=1 id=9 age=44
  3. i=2 id=11 age=21

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。@H_301_1@

猜你在找的Java相关文章