public class Person implements Comparable<Person>{
public int Age;
public String Name;
public boolean Sex;
public Person(int age, String name, boolean sex) {
super();
Age = age;
Name = name;
Sex = sex;
}
@Override
public int compareTo(Person other) {
int result=Name.compareTo(other.Name);
return result;
}
public class LinqTest {
@Test
public void name() {
Person p1=new Person(21,"21",true);
Person p2=new Person(22,"22",false);
Person p4=new Person(23,"24",true);
Person p3=new Person(23,"23",true);
List<Person> list=new ArrayList<>();
list.add(p1);
list.add(p2);
list.add(p3);
list.add(p4);
List<String> nameList= Linq4j.asEnumerable(list).where(new Predicate1<Person>() {
public boolean apply(Person arg0) {
//只要sex为true的
return arg0.Sex;
}
}).select(new Function1<Person, String>() {
public String apply(Person arg0) {
//只要Person的name字段,
return arg0.Name;
}
}).orderByDescending(new Function1<String, String>() {
public String apply(String arg0) {
//降序排列
return arg0;
}
}).toList();
assertEquals(3, nameList.size());
assertEquals("24", nameList.get(0));
assertEquals("23", nameList.get(1));
assertEquals("21", nameList.get(2));
List<Person> list2= Linq4j.asEnumerable(list).where(new Predicate1<Person>() {
public boolean apply(Person arg0) {
//只要sex为true的
return arg0.Sex;
}
}).select(new Function1<Person, Person>() {
public Person apply(Person arg) {
return arg;
}
}).orderByDescending(new Function1<Person, Person>() {
public Person apply(Person arg) {
//降序排列
return arg;
}
}).toList();
assertEquals(3, list2.size());
assertEquals(p4, list2.get(0));
assertEquals(p3, list2.get(1));
assertEquals(p1, list2.get(2));
}
}
也可以参考:https://github.com/huangyunbin/codes/tree/master/src/main/java/com/hyb/util/linq
分享到:
相关推荐
标签:linq4j、apache、calcite、jar包、java、API文档、中文版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准...
开发者可以通过解压这个文件,了解linq4j的实现细节、如何构建和运行项目,以及如何在自己的项目中使用linq4j。 **应用场景** 1. **数据过滤和转换**:linq4j可以帮助开发者在Java集合中快速筛选满足特定条件的...
中文-英文对照文档,中英对照文档,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压 【***.jar中文文档.zip】,再解压其中的 【***-...
LINQ到对象(Java) 术语“对象的LINQ”是指将LINQ查询与任何IEnumerable<T> 。 您可以使用LINQ查询任何可枚举的集合,例如Primitive Array , Object Array , List , Collection或Iterable等。 该集合可以是用户...
描述中提到的“linq聊天群发工具”,意味着这个源代码实现了一个功能,能够利用LINQ对基于jabber协议的聊天系统进行消息群发。这可能是为了实现大规模的通知、广播消息或者营销目的,通过自动化的方式一次性向多个...
本文将详细介绍如何利用C#编程语言实现在Word文档中动态创建表格,并将数据写入到表格中的过程。 #### 前置知识与工具介绍 在开始之前,我们需要对以下概念有所了解: 1. **Microsoft Word API**:这是Microsoft ...
- **J2EE/Java**:尽管主要运行于 Windows 平台,但也可以通过 Java Interop Services 或者 J# 与 Java 应用交互。 - **LINQ**:PowerShell 4.0 及以上版本支持 LINQ 查询表达式,可以直接使用 LINQ 来筛选和操作...
5. **DOM4J、JDOM等第三方库**:提供了更方便的API,增强了DOM的功能。 三、.NET的XML编程 在.NET框架中,XML处理主要包括: 1. **XmlDocument类**:.NET的DOM实现,类似于Java中的DOM。 2. **XmlReader和Xml...
Open J#项目的目标是为Java开发者提供在.NET环境下的开发工具,让他们能够利用.NET Framework的各种功能和库。 描述中提到,Open J#是一个Java编译器,专为.NET Framework设计。这意味着它可以将Java源代码转换成...
接下来,我们将探讨几种常见的贪心算法问题,并分别用Python、JavaScript、Java、C++和C#进行实现。 #### 三、案例分析与代码实现 ##### 1. Python - 钱币找零问题 ```python def coinChange(coins, amount): # ...
* 可以与从 Visual Basic、Visual C++、Visual J# 的 .NET 版本或者其他 20 多种符合 CTS 的语言中的任何一种生成的代码进行交互 * 单一程序集可能包含用不同 .NET 语言编写的多个模块,并且类型可以相互引用
因为由 C# 编译器生成的 IL 代码符合公共类型规范 (CTS),因此从 C# 生成的 IL 代码可以与从 Visual Basic、Visual C++、Visual J# 的 .NET 版本或者其他 20 多种符合 CTS 的语言中的任何一种生成的代码进行交互。...
C#的历史可以追溯到1996年,当时微软的安德斯·海尔斯伯格开始开发Visual J++,但由于与SUN公司关于Java平台中立性的争议,微软最终转向开发C#。C# 1.0于2000年发布,随后的版本不断更新,增加了许多新特性,如泛型...
17. Java变量赋值:执行语句后,i=2, j=2。 18. 1字节等于8位。 19. Access数据库类型:Access是一种关系型数据库管理系统。 20. LINQ数据操作:LINQ(Language Integrated Query)是C#和VB.NET的扩展,可以用于...
3. **填充数据**:利用循环或LINQ查询将数据填充到工作表的单元格中,可以设置单元格样式、公式等。 4. **保存文件**:最后,将工作簿保存为Excel文件,用户可以下载或在本地查看。 以下是一个使用EPPlus生成Excel...
例如,可以通过 `SqlParser` 类进行 SQL 解析,通过 `RexBuilder` 创建表达式,通过 `Optiq`(Linq4j)进行查询转换。 - **扩展性**:开发者可以创建自定义的 SQL 函数、运算符和访问方法,通过继承和实现 Calcite ...
3. DOM4J、JDOM、XOM等库提供了Java中处理XML的便利工具。 4. LINQ to XML是.NET Framework中的XML处理方式,结合了DOM和SAX的优点。 XML Schema和DTD(Document Type Definition): 1. XML Schema用于定义XML文档...
C#(读作C Sharp)是由微软设计的一种现代编程语言,它结合了C++的强大特性和Java的易用性,旨在为开发者提供一种“简单、现代、类型安全且面向对象”的编程工具。C#自2000年发布以来,已成为.NET框架的核心组成部分...
这些题目涵盖了计算机基础知识的多个方面,包括网页字符、计算机历史、字符串处理、数据库概念、数据结构、编程语言特性、数据库管理系统、操作系统、算法分析、网络知识、程序设计、JSP和Web开发、Java编程、软件...