1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
/* 思路 1对人描述,将数据封装进人对象 2定义容器,将人存入 3取出 */ import java.util.*;
class Person
{ private String name;
private int age;
Person(String name, int age)
{
this .name= name;
this .age= age;
}
public boolean equals(Object obj)
{
if (!(obj instanceof Person))
return false ;
Person p= (Person)obj;
return this .name.equals(p.name)&& this .age == p.age;
}
public String getName()
{
return name;
}
public int getAge()
{
return age;
}
} class Test
{ public static void main(String[] args)
{
ArrayList al = new ArrayList();
al.add( new Person( "lisi01" , 30 ));
al.add( new Person( "lisi02" , 35 ));
al.add( new Person( "lisi03" , 32 ));
al.add( new Person( "lisi02" , 35 ));
al.add( new Person( "lisi03" , 32 ));
al.add( new Person( "lisi04" , 31 ));
al=singleElement(al);
Iterator it = al.iterator();
while (it.hasNext())
{
Person p = (Person)it.next();
sop(p.getName()+ "---" +p.getAge());
}
}
public static ArrayList singleElement(ArrayList al)
{
//定义一个临时容器
ArrayList newAl = new ArrayList();
Iterator it =al.iterator();
while (it.hasNext())
{
Object obj = it.next();
if (!newAl.contains(obj))
newAl.add(obj);
}
return newAl;
}
public static void sop(Object obj)
{
System.out.println(obj);
}
} |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
public boolean contains(Object o) {
return indexOf(o) >= 0 ;
}
public int indexOf(Object o) {
if (o == null ) {
for ( int i = 0 ; i < size; i++)
if (elementData[i]== null )
return i;
} else {
for ( int i = 0 ; i < size; i++)
if (o.equals(elementData[i])) //调用参数的equals方法
return i;
}
return - 1 ;
}
|
欢迎大家访问我的个人网站 萌萌的IT人
相关推荐
今天小编就为大家分享一篇对ArrayList和LinkedList底层实现原理详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
源码解析jdk7.0集合:ArrayList的底层实现原理.pdf
简单模拟java 中的arraylist的底层实现
ArrayList常用的方法如下: Add 添加到 ArrayList 的結尾處 Remove 從 ArrayList 中移除特定對象的第一個匹配項 RemoveAt 移除 ArrayList 的指定索引處的元素 Insert 將元素插入 ArrayList 的指定索引處 ...
此方法是通过java提供的ArrayList方法对栈的实现;
ArrayList 集合源码解读介绍构造方法add方法remove方法总结 介绍 ArrayList Jdk1.8采用的是数组的数据结构,是非线程安全的一个集合 (多线程下数据不安全),本文章主要讲解ArrayList集合添加和集合扩容,其他方法...
ArrayList集合底层原理.pdf
今天小编就为大家分享一篇Java ArrayList的底层实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
在jni中操作arraylist对象,然后添加一个int型数据进去
这篇集合总结一共包括十二节,介绍了一些接口和实现类的底层源码以及基本的增加、删除元素等的操作(包括List、Map、Set接口、ArrayList、Vector、LinkedList、HashSet、TreeSet、HashMap、TreeMap等实现类)。...
适用人群:JavaSE初学者,对源码感兴趣的,想要深度了解ArrayList底层实现、数据结构、add方法、Remove方法、以及自动扩容机制的同学,并且对ArrayList已经有过使用,想要学习它与LinkedList,Vector等的区别,该...
ArrayList的底层原理Java系列2021.pdf
测试ArrayList和LinkedList的add方法
1.2ArrayList类常用方法【应用】 1.2.1构造方法 1.2.2成员方法 1.2.3示例代码 public class ArrayListDemo02 { public static void main(String[] args) { //创建集合 ArrayList<String> array = new ...
怎么将利用DWR调用JAVA类方法所返回的ArrayList数组 赋值给 logiciterate 迭代器?.txt怎么将利用DWR调用JAVA类方法所返回的ArrayList数组 赋值给 logiciterate 迭代器?.txt怎么将利用DWR调用JAVA类方法所返回的...
ArrayList. 底层用数组实现, 自己编写的MyArrayList,初始长度10,扩容2倍.
集合ArrayList测试集合ArrayList测试集合ArrayList测试集合ArrayList测试集合ArrayList测试集合ArrayList测试
详细介绍Java中ArrayList的使用方法以及与vector的对比
一个C++(Ubuntu16.04+QT5.9.1)通过JNI,调用JAVA类及方法的示例。通过JNI传递和返回多种类型的参数,boolean ,int,String,ArrayList,ArrayList嵌套ArrayList<ArrayList<String>>等。
1. 测试ArrayList类的方法: package RongQI.Collection; import java.util.ArrayList; import java.util.Collection; import java.util.List; /** * 测试Collection接口中的方法 */ public class TestArraylist {...