「javalamb」javalambda表达式排序
本篇文章给大家谈谈javalamb,以及javalambda表达式排序对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java程序中pair类的创建问题
- 2、java中怎么 对数组里的 元素 按出现的顺序排序
- 3、Android接口回调总结,以及运用到弹窗PopWindow的Demo实现
- 4、关于java程序输出希腊字母表,却在ρ后输出了问号,球大神解惑。
- 5、java8 stream foreach获取索引么
- 6、数学和物理的区别
java程序中pair类的创建问题
这个还缺少一个类, 这段例子是JAVA核心技术哪本书里的,前几页还有一个类, class Pair。把这个类加上就可以运行了。
java中怎么 对数组里的 元素 按出现的顺序排序
其实这个用java.utils.Arrays这个对象里的sort(T[],Comparator)的这个方法就可以了。
String[] words = new String[] { "apple", "dog", "apple", "dog", "apple", "cat", "cat", "dog", "lamb" }; Arrays.sort(words, String.CASE_INSENSITIVE_ORDER);
这样words就已经被排序了。
Plus: Comparator用String自己带的比较器即可。CASE_INSENSITIVE_ORDER是一个大小写不敏感的比较器。
Android接口回调总结,以及运用到弹窗PopWindow的Demo实现
最近项目中接触到接口回调,以及Android弹窗PopWindow组件的使用,现在利用学到的知识自己写了一个简单的Demo,练习下在Android下如何运用接口回调,来实现弹窗PopWindow的功能。
1. 定义一个接口:OnSelectItemListener。定义一个方法 void selectItem(String name, int type),作为点击弹窗的每个Item的回调接口。
2. 自定义弹窗类:MyPopupWindow,其布局文件为popup_window.xml。当在MainActivity调用其构造函数创建对象时,同时执行initPopupWindow()函数,给每个Item设置监听器,监听点击Item时,回调接口函数selectItem("Pop Window A", POP_WINDOW_ITEM_1),该函数在MainActivity中实现。
3. 主Activity: MainActivity。其布局文件为一个Button和一个TextView。监听Button,每当点击则弹出PopWindow,呈现三个Item。调用MyPopupWindow类中的方法setOnSelectItemListener(OnSelectItemListener listener),传入OnSelectItemListener 对象作为参数,同时实现回调接口OnSelectItemListener的方法void selectItem(String name, int type)。
主Activity: MainActivity. Java
[java] view plain copy
packagecom.lambdroid.callbacktest2;
importandroid.app.Activity;
importandroid.content.Context;
importandroid.os.Bundle;
importandroid.view.View;
importandroid.widget.Button;
importandroid.widget.TextView;
importandroid.widget.Toast;
//联系接口的回调以及PopWindow弹窗的简单使用
publicclassMainActivityextendsActivity {
privateMyPopupWindow myPopupWindow;
privateButton btn_pop_window;
privateTextView tv_display;
protectedContext context;
@Override
protectedvoidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
context =this;
btn_pop_window = (Button) findViewById(R.id.btn_pop_window);
tv_display = (TextView) findViewById(R.id.tv_display);
//给Button设置事件监听:弹出弹窗
btn_pop_window.setOnClickListener(newView.OnClickListener() {
@Override
publicvoidonClick(View v) {
myPopupWindow.show(btn_pop_window);
}
});
myPopupWindow =newMyPopupWindow(context);
//实现OnSelectItemListener接口的selectItem方法:对于弹窗三个Item的事件监听
myPopupWindow.setOnSelectItemListener(newOnSelectItemListener() {
@Override
publicvoidselectItem(String name,inttype) {
//点击电站列表,弹出弹框
if(myPopupWindow !=null myPopupWindow.isShowing()) {
myPopupWindow.dismiss();
}
tv_display.setText(name);
switch(type){
caseMyPopupWindow.POP_WINDOW_ITEM_1:
Toast.makeText(context,"我是弹窗A, 我的英文名是"+ name, Toast.LENGTH_SHORT).show();
break;
caseMyPopupWindow.POP_WINDOW_ITEM_2:
Toast.makeText(context,"我是弹窗B, 我的英文名是"+ name, Toast.LENGTH_SHORT).show();
break;
caseMyPopupWindow.POP_WINDOW_ITEM_3:
Toast.makeText(context,"我是弹窗C, 我的英文名是"+ name, Toast.LENGTH_SHORT).show();
break;
default:
break;
}
}
});
}
}
activity_main.xml
[html] view plain copy
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:id="@+id/btn_pop_window"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_margin="20dp"
android:padding="20dp"
android:text="Pop Window"
android:textSize="20sp"/
android:id="@+id/tv_display"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="10dp"
android:gravity="center"
android:text="Hello World!"
android:textSize="30sp"/
自定义弹窗类:MyPopupWindow.java
[java] view plain copy
packagecom.lambdroid.callbacktest2;
importandroid.app.ActionBar;
importandroid.content.Context;
importandroid.graphics.drawable.ColorDrawable;
importandroid.view.LayoutInflater;
importandroid.view.View;
importandroid.widget.LinearLayout;
importandroid.widget.PopupWindow;
publicclassMyPopupWindowimplementsView.OnClickListener{
privatePopupWindow mPopWindow;
privateContext mContext;
privateLinearLayout llPop1;
privateLinearLayout llPop2;
privateLinearLayout llPop3;
privateintpw_height;
publicstaticfinalintPOP_WINDOW_ITEM_1 =1;
publicstaticfinalintPOP_WINDOW_ITEM_2 =2;
publicstaticfinalintPOP_WINDOW_ITEM_3 =3;
privateOnSelectItemListener listener;
publicvoidsetOnSelectItemListener(OnSelectItemListener listener){
this.listener = listener;
}
publicMyPopupWindow(Context context){
mContext = context;
initPopupWindow();//初始化弹窗
}
publicvoidinitPopupWindow(){
View view = LayoutInflater.from(mContext).inflate(R.layout.popup_window,null);
mPopWindow =newPopupWindow(view, ActionBar.LayoutParams.WRAP_CONTENT, ActionBar.LayoutParams.WRAP_CONTENT,true);
mPopWindow.setOutsideTouchable(true);
/** 为其设置背景,使得其内外焦点都可以获得 */
mPopWindow.setBackgroundDrawable(newColorDrawable());
mPopWindow.setFocusable(true);
pw_height = view.getHeight();
llPop1 = (LinearLayout) view.findViewById(R.id.ll_pop_1);
llPop1.setOnClickListener(this);
llPop2 = (LinearLayout) view.findViewById(R.id.ll_pop_2);
llPop2.setOnClickListener(this);
llPop3 = (LinearLayout) view.findViewById(R.id.ll_pop_3);
llPop3.setOnClickListener(this);
}
//监听三个弹窗的点击事件
@Override
publicvoidonClick(View v) {
switch(v.getId()){
caseR.id.ll_pop_1:
if(listener !=null) {
listener.selectItem("Pop Window A", POP_WINDOW_ITEM_1);//回调接口
}
break;
caseR.id.ll_pop_2:
if(listener !=null) {
listener.selectItem("Pop Window B", POP_WINDOW_ITEM_2);
}
break;
caseR.id.ll_pop_3:
if(listener !=null) {
listener.selectItem("Pop Window C", POP_WINDOW_ITEM_1);
}
break;
default:
break;
}
}
//显示弹窗,并设置弹窗基于标题栏的显示位置
publicvoidshow(View view) {
//popupwindow相对view位置x轴偏移量
View viewTemp = mPopWindow.getContentView();
viewTemp.measure(0,0);
intwidth = viewTemp.getMeasuredWidth();
intxOffset = (view.getWidth() - width) /2;
mPopWindow.showAsDropDown(view, xOffset,0);
}
/**
* 退出popupwindow
*/
publicvoiddismiss() {
if(mPopWindow !=null mPopWindow.isShowing()) {
mPopWindow.dismiss();
}
}
/**
* popupwindow是否正在显示
*/
publicbooleanisShowing() {
if(mPopWindow !=null) {
returnmPopWindow.isShowing();
}
returnfalse;
}
}
popup_window.xml
[html] view plain copy
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/ll_alarm_type"
android:layout_width="120dp"
android:layout_height="130dp"
android:orientation="vertical"
android:background="@drawable/popupwindow"
android:paddingBottom="16dp"
android:paddingTop="16dp"
android:id="@+id/ll_pop_1"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_marginTop="5dp"
android:layout_gravity="center_horizontal"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="窗口 A"
android:textSize="15sp"
android:textColor="#ffffff"/
android:id="@+id/ll_pop_2"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_gravity="center_horizontal"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="窗口 B"
android:textSize="15sp"
android:textColor="#ffffff"/
android:id="@+id/ll_pop_3"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_gravity="center_horizontal"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="窗口 C"
android:textSize="15sp"
android:textColor="#FFFFFF"/
回调接口:OnSelectItemListener
[java] view plain copy
packagecom.lambdroid.callbacktest2;
publicinterfaceOnSelectItemListener {
voidselectItem(String name,inttype);
}
点击Button,弹出弹窗,显示三个Item
点击第二个Item,通过回调函数,来实现TextView内容的修改,以及弹出Toast
总结
Java回调情形涉及很多,本文属于接口的异步回调:当不知道何时会执行接口的回调函数,(通过接口回调来对获取到的资源的操作)。除此还有线程间的异步回调(子线程进行耗时操作,操作完毕通知主线程或将数据传给主线程处理),以及利用接口回调来实现线程间的数据通信等等(Android可以利用Handler来实现)。等下次再举例说明Java回调函数的其它情形。
关于java程序输出希腊字母表,却在ρ后输出了问号,球大神解惑。
一共是24个希腊字母,你多出来的那个位置上应该没有内容。
我看网上有人这样做的循环,你看看适合你不:
for(char a='α';a'ω';a++){
str+=a;
}
1 Α α alpha a:lf 阿尔法
2 Β β beta bet 贝塔
3 Γ γ gamma ga:m 伽马
4 Δ δ delta delt 德尔塔
5 Ε ε epsilon ep`silon 伊普西龙
6 Ζ ζ zeta zat 截塔
7 Η η eta eit 艾塔
8 Θ θ thet θit 西塔
9 Ι ι iot aiot 约塔
10 Κ κ kappa kap 卡帕
11 ∧ λ lambda lambd 兰布达
12 Μ μ mu mju 缪
13 Ν ν nu nju 纽
14 Ξ ξ xi ksi 克西
15 Ο ο omicron omik`ron 奥密克戎
16 ∏ π pi pai 派
17 Ρ ρ rho rou 肉
18 ∑ σ sigma `sigma 西格马
19 Τ τ tau tau 套
20 Υ υ upsilon jup`silon 宇普西龙
21 Φ φ phi fai 佛爱
22 Χ χ chi phai 凯
23 Ψ ψ psi psai 普西
24 Ω ω omega o`miga 欧米伽
java8 stream foreach获取索引么
会的。
fliter可以按照书写的表达式过滤stream流里的元素。stream代表从list获取流,filter采用过滤,it是item的缩写表示流里的每一个元素,这里it表示每一个User(当然,你可以理解问是一个参数,it你可以用其他任何参数名,比如user)。-该符号是lambdb表达式后面会做详细介绍。collect是收集流里的元素,最终放入一个List集合,返回List。
数学和物理的区别
1、概念不一样:数学是研究数量、结构、变化、空间以及信息等概念的一门学科。而物理则是研究物质运动最一般规律和物质基本结构的学科。
2、精密性不一样:物理的理论结构充分地运用数学作为自己的工作语言,以实验作为检验理论正确性的唯一标准,是当今最精密的一门自然科学学科。数学在精密性这方面相对来说不像物理那般,而是用严谨性来形容。
3、起源不一样:数学起源于人类早期的生产活动,古巴比伦人从远古时代开始已经积累了一定的数学知识,并能应用实际问题。物理则是起源于人类社会实践的发展。
扩展资料:
数学简史:
西方数学简史
数学的演进大约可以看成是抽象化的持续发展,或是题材的延展.而东西方文化也采用了不同的角度,欧洲文明发展出来几何学,而中国则发展出算术。
第一个被抽象化的概念大概是数字(中国的算筹),其对两个苹果及两个橘子之间有某样相同事物的认知是人类思想的一大突破.除了认知到如何去数实际物件的数量,史前的人类亦了解如何去数抽象概念的数量,如时间—日、季节和年.算术(加减乘除)也自然而然地产生了。
中国数学简史
数学古称算学,是中国古代科学中一门重要的学科,根据中国古代数学发展的特点,可以分为五个时期:萌芽;体系的形成;发展;繁荣和中西方数学的融合。
物理简史:
伽利略·伽利雷(1564~1642年)人类现代物理学的创始人,奠定了人类现代物理科学的发展基础。
当今物理学和科学技术的关系两种模式并存,相互交叉,相互促进“没有昨日的基础科学就没有今日的技术革命”。
参考资料:
百度百科-数学
百度百科-物理
关于javalamb和javalambda表达式排序的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2023-01-10,除非注明,否则均为
原创文章,转载请注明出处。