java中得到一个list,但只要取list的前3行数据,该怎么写啊

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中得到一个list,但只要取list的前3行数据,该怎么写啊相关的知识,希望对你有一定的参考价值。

List<Content> list = this.loginService.findContentList();
//这样得到一个list后,但只要取这个list的前3行,取出来后再放入一个新的list中,该怎么写啊?
求教,谢谢(不要用sql解决,也不要到前端去遍历解决)

很简单,只需要调用List的get(int index) 方法就行,参数index就是索引,如果是前三行,对应的索引就是0、1、2。

方法有如下有两种:

一、先说一个最笨的方法。挨个把元素取出来,然后再挨个放到新的数组里面,代码如下:

Content  a = list.get(0);//获取第一行数据

Content b = list.get(1);//获取第二行数据

Content c = list.get(2);//获取第三行数据

List<Content> list = new ArrayList<Content>();

list.add("a");//添加第一行数据

list.add("b");//添加第二行数据

list.add("c");//添加第三行数据

二、通过for循环,取一个元素就放一个元素。代码如下

List<Content> list1 = new ArrayList();

forint i = 0; i < 3; i++

list1 .add(list.get(i));

扩展资料:

List的一般用法

(1)声明 List<T> mlist = new List<T>();

eg: string[] Arr = "a","b","c";

List<string> mlist = new List<string>(Arr);

(2)添加一个元素 List.Add(T item) 

eg: mlist.Add("d");

(3)添加集合元素

eg: string[] Arr2 ="f","g"."h";
mlist.AddRange(Arr2);

(4)在index位置添加一个元素 Insert(int index,T item)

eg: mlist.Insert(1,"p");

(5)删除元素

List.Remove(T item) 删除一个值
eg: mlist.Remove("a");

List.RemoveAt(int index);删除下标为index的元素
eg: mlist.RemoveAt(0);

List.RemoveRange(int index,int count); 下标index开始,删除count个元素
eg:mlist.RemoveRange(3,2);

参考资料:

Orcle官方API接口-Java Platform SE 7-List

百度百科-list(计算机专业术语)

W3cSchool-Java数组

参考技术A

方法有如下有两种:

一、先说一个最笨的方法。挨个把元素取出来,然后再挨个放到新的数组里面,代码如下:

Content  a = list.get(0);//获取第一行数据

Content b = list.get(1);//获取第二行数据

Content c = list.get(2);//获取第三行数据

List<Content> list = new ArrayList<Content>();

list.add("a");//添加第一行数据

list.add("b");//添加第二行数据

list.add("c");//添加第三行数据

二、通过for循环,取一个元素就放一个元素。代码如下

List<Content> list1 = new ArrayList();

forint i = 0; i < 3; i++

list1 .add(list.get(i));

扩展资料

JDK(Java Development Kit)称为Java开发包或Java开发工具,是一个编写Java的Applet小程序和应用程序的程序开发环境。JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一些Java工具和Java的核心类库(Java API)。不论什么Java应用服务器实质都是内置了某个版本的JDK。主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如,IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK  。

另外,可以把Java API类库中的Java SE API子集和Java虚拟机这两部分统称为JRE(JAVA Runtime Environment),JRE是支持Java程序运行的标准环境  。

JRE是个运行环境,JDK是个开发环境。因此写Java程序的时候需要JDK,而运行Java程序的时候就需要JRE。而JDK里面已经包含了JRE,因此只要安装了JDK,就可以编辑Java程序,也可以正常运行Java程序。但由于JDK包含了许多与运行无关的内容,占用的空间较大,因此运行普通的Java程序无须安装JDK,而只需要安装JRE即可

参考资料

百度百科 JAVA

参考技术B

通过list.get(0),list.get(1),list.get(2)方式获取前三行数据。

1、定义一个list

List list = new ArrayList();//定义一个List
list.add("a");//添加第一行数据
list.add("b");//添加第二行数据
list.add("c");//添加第三行数据

2、获取前三行记录

String str1 = (String)list.get(0);//获取第一行数据
String str2 = (String)list.get(1);//获取第二行数据
String str3 = (String)list.get(2);//获取第三行数据

参考技术C List<Content> list = this.loginService.findContentList();

List nList=list.subList(0, 3);
System.out.println(nList.toString());
参考技术D 写个例子给你:
List list =new ArrayList();
//把一个数组赋值给list (我不知道你list里面放的是什么数据,)
for(int i =0;i<2;i++)
System.out.println(list[i]);

List遍历删除 或取指定的前N项

 1     class Program
 2     {
 3         static void Main(string[] args)
 4         {
 5             /*
 6              * List遍历删除 或取指定的前N项
 7             */
 8             List<PerSon> listPer = CreateListPer();
 9 
10             // 1、输出项
11             Console.WriteLine("输出listPer项");
12             foreach (PerSon per in listPer)
13             {
14                 Console.WriteLine("Id:" + per.Id + " Name:" + per.name);
15             }
16 
17             //2、删除15条之后的数据
18             //遍历删除索引大于50的项
19             //将listPer的项复制到listPerTemp里面 如果直接用“=”的话,listPerTemp删除索引大于15的项,listPer大于15的项也会删掉
20             List<PerSon> listPerTemp = new List<PerSon>(listPer.ToArray());
21             //这将复制listPer中的所有项目到listPerTemp 
22             //listPer.ForEach(i => listPerTemp.Add(i)); 
23             listPer.ForEach(i => listPerTemp.Add(i));
24             for (int i = listPerTemp.Count - 1; i >= 0; i--)
25             {
26                 if (i >= 15)
27                 {
28                     listPerTemp.RemoveAt(i);
29                 }
30             }
31             Console.Write("\n");
32             // 3、输出项
33             Console.WriteLine("输出listPerTemp项");
34             foreach (PerSon per in listPerTemp)
35             {
36                 Console.WriteLine("Id:" + per.Id + " Name:" + per.name);
37             }
38 
39             //
40             Console.Write("\n");
41             Console.WriteLine("输出listPer项");
42             foreach (PerSon per in listPer)
43             {
44                 Console.WriteLine("Id:" + per.Id + " Name:" + per.name);
45             }
46 
47             Console.Write("\n");
48             //除了用移除的方法获取索引小于15的项,还可以用.take(15);  
49             var result = from r in listPer
50                          select r;
51 
52             result = result.Take(15);
53             foreach (var c in result)
54             {
55                 Console.WriteLine("Id:" + c.Id + " Name:" + c.name);
56             }
57 
58             Console.Write("\n");
59            //或者直接take
60             listPer = listPer.Take(15).ToList();
61             foreach (PerSon per in listPer)
62             {
63                 Console.WriteLine("Id:" + per.Id + " Name:" + per.name);
64             }
65             Console.ReadKey();
66         }
67 
68         private static List<PerSon> CreateListPer()
69         {
70             List<PerSon> listper = new List<PerSon>();
71             PerSon per = new PerSon();
72             for (int i = 1; i <= 20; i++)
73             {
74                 per = new PerSon();
75                 per.Id = i;
76                 per.name = "N-" + i;
77                 listper.Add(per);
78             }
79 
80             return listper;
81         }
82     }
83 
84     public class PerSon
85     {
86         /// <summary>
87         /// 编号
88         /// </summary>
89         public int Id { get; set; }
90 
91         /// <summary>
92         /// 名称
93         /// </summary>
94         public string name { get; set; }
95     }

 

以上是关于java中得到一个list,但只要取list的前3行数据,该怎么写啊的主要内容,如果未能解决你的问题,请参考以下文章

List遍历删除 或取指定的前N项

两个list求差集

java中使用sublist方法获取list集合的前1000条数据

java8-list转Map

java8-list转Map

假设有1亿个人名,找出名字重复数最多的前10个,用Java编程怎么做?